Docker容器操作

简介: Docker容器操作

N.1 查看容器

1)查看正在运行容器,#docker ps

——————————————————————

——————————————————————

——————————————————————

2)查看所有的容器(启动与未启动的容器),#docker ps -a

——————————————————————

——————————————————————

3)查看最后一次运行的容器,#docker ps –l

——————————————————————

——————————————————————

4)查看停止的容器,#docker ps -f status=exited

——————————————————————

——————————————————————

N.2 创建与启动容器

注意:必须先有镜像,再有容器,下面以CentOS镜像演示,先拉去 镜像 #docker pull centos:7 。

1)创建容器命令,#docker run [OPTIONS] 镜像名:标签名

(1)创建容器 [OPTIONS] 常用的参数说明:

[1] -i 表示交互式运行容器(就是创建容器后,马上会启动容器,并进入容器 ),通常与-t 同时使用

[2] -t 启动后会进入其容器命令行, 通常与 -i 同时使用; 加入 -it 两个参数后,容器创建就能登录进去。即分配一个伪终端。

[2] --name 为创建的容器指定一个名称 。

[3] -d 创建一个守护式容器在后台运行,并返回容器ID;

这样创建容器后不会自动登录容器,如果加-i 参数,创建后就会运行容器。

[4] -v 表示目录映射, 格式为: -p 宿主机目录:容器目录

注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

[5] -p 表示端口映射,格式为: -p 宿主机端口:容器端口

2)交互式容器

(1)说明: 就是创建容器后,马上会启动容器,并进入容器。

(2)创建一个交互式容器并取名为 mycentos , ( /bin/bash 是linux中的命令解析器,会进入到容器里面命令行,注意:docker 命令是不能在容器里面使用)。

(3)#docker run -it --name=mycentos centos:7 /bin/bash

——————————————————————

——————————————————————

——————————————————————

(4)新开一个 shell 窗口,再创建一个 mycentos1 容器

——————————————————————

——————————————————————

(5)总结: 同一个镜像, 可运行多个容器

N.3 退出容器

1)退出并停止当前容器

(1)注意在容器内部的命令行执行,#exit

——————————————————————

——————————————————————

2)退出不停止当前容器,按键盘: Ctrl + p + q

——————————————————————

——————————————————————

N.4 启动与停止容器

1)启动已运行过的容器,#docker start 容器名称|容器id

——————————————————————

——————————————————————

2)启动所有运行过的容器

(1)是查询所有运行过的容器ID:docker ps -a -q ,

(2)#docker start `docker ps -a -q`

——————————————————————

——————————————————————

3)停止正在运行的容器,#docker stop 容器名称|容器id

(1)当然前面的exit和stop,在某些情况, 有一样的效果

——————————————————————

——————————————————————

4)强制停止正在运行的容器(一般不用此,除非卡了),#docker kill 容器名称|容器id

——————————————————————

——————————————————————

5)停止所有在运行的容器,#docker stop `docker ps -a -q`

——————————————————————

——————————————————————

N.5 创建守护式容器

1)如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器(后台运行的容器)。

(1)创建(-d)并运行(-i)守护式容器命令如下(容器名称不能重复):

#docker run -id --name=mycentos2 centos:7

——————————————————————

——————————————————————

N.6 登录容器

1)登录已经启动的容器方式:

(1)使用 docker exec 进入容器中打开命令行终端

(2)如:#docker exec -it 容器名称|容器id /bin/bash

——————————————————————

——————————————————————

2)exit 针对通过 docker exec 进入的容器,只退出但不停止容器。

——————————————————————

——————————————————————

N.7 拷贝宿主机与容器中的文件

1)将宿主机文件拷贝到容器内

(1)#docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录

——————————————————————

——————————————————————

——————————————————————

——————————————————————

2)从容器内文件拷贝到宿主机。

(1)#docker cp 容器名称:要拷贝的容器文件或目录 宿主机文件或目录

(2)(文件拷贝 docker cp 命令 均在宿主机中操作)

N.8 数据目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,

这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。使用 -v 选项

1)目录挂载

(1)#docker run -id -v /宿主机绝对路径目录:/容器内目录 --name=容器名 镜像名

——————————————————————

——————————————————————

2)目录挂载只读(Read-only)权限

(1)#docker run -id -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名

——————————————————————

——————————————————————

N.9 看容器内部细节

1)查看容器运行内部细节,比如可看容器的IP。

(1)#docker inspect 容器名

——————————————————————

——————————————————————

N.10 查看容器IP地址

1)直接显示IP地址。

(1)#docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名

——————————————————————

——————————————————————

N.11 删除容器

1)删除指定的容器:

(1)#docker rm 容器名称 | 容器ID

——————————————————————

——————————————————————

2)删除所有容器(其中运行中的容器无法删除,所以先停再删):

(1)#docker rm `docker ps -a -q`

——————————————————————

——————————————————————

相关文章
|
14天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
192 69
|
1天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
4天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
14天前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
|
9天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
29 4
|
7天前
|
Kubernetes Linux 开发者
深入探索Docker容器化技术的奥秘
深入探索Docker容器化技术的奥秘
16 1
|
10天前
|
存储 Docker 容器
Docker中容器间的通信方式有哪些13
Docker中容器间的通信方式有哪些13
14 4
|
5天前
|
网络协议 安全 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基础知识,包括网络驱动、端口映射和命名等核心概念,并深入探讨了 Bridge、Host、Overlay 和 Macvlan 四种网络类型的特点及应用场景。此外,还提供了创建、连接、查看和删除自定义网络的命令示例,以及高级网络配置方法,如网络命名空间、DNS 解析和安全通信配置,帮助开发者构建更健壮的容器化应用。
|
6天前
|
Cloud Native 持续交付 Docker
深入解析Docker容器化技术及其在生产环境中的应用
深入解析Docker容器化技术及其在生产环境中的应用
10 0
|
7天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
21 0
下一篇
无影云桌面