docker的容器管理操作

158 阅读3分钟

一、创建容器

容器创建:就是将镜像加载到容器的过程。

创建容器时如果没有指定容器名称,系统会自动创建一个名称。

docker create创建的容器并未实际启动,还需要执行docker start命令或docker run命令以启动容器。

 格式: docker create [选项] 镜像名 <命令>
 常用选项:
 #-t 选项让 Docker 分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。-it,在交互模式下,用户可以通过所创建的终端来输入命令。
 #更多的命令选项可以通过 man docker -run 命令来查看

image.png

二、查看容器的运行状态

 格式:
 docker  ps [选项]
 ​
 docker ps        #查看当前运行状态的容器
 docker ps -q     #只显示运行状态的容器的ID
 docker ps -a     #-a 选项可以显示所有的容器
 docker ps -aq    #只显示所有容器的ID
 docker ps -as    #显示所有容器的大小
 docker ps -n 2   #查看最后创建的2个镜像

常用选项

选项含义
-a显示所有的容器,包括未运行的容器
-f根据条件过滤显示的内容
-format指定返回值的模板文件
-I显示最近创建的容器
-n列出最近创建的容器
-no-trunc不间断输出
-q静默模式。只显示容器的编号
-s显示总的大小

image.png

三、启动容器

docker start 容器的ID/名称  启动容器

image.png

四、创建并启动容器

docker run [选项] 镜像 [命令] [参数...]
​
需要在 docker run 命令之后添加 -d 选项让 Docker 容器以守护形式在后台运行。并且容器所运行的程序不能结束。
​
在后台运行容器
docker run -itd --name test1 centos:7 /bin/bash   #创建容器并持续运行容器

当执行docker run 来创建容器时候,Docker 在后台的标准运行规程

1.检测本地是否存在指定的镜像,当镜像不存在时,会有公有仓库下载;

2.利用镜像创建并启动一个容器

3.分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;

4.从宿主主机配置的网桥接口桥接一个虚拟机接口到容器中;

5.分配一个地址池中的IP地址给容器

6.执行用户指定的应用程序,执行完毕后容器被停止运行

image.png 无线循环命令

image.png

五、停止docker运行

格式:docker stop 容器的ID/名称
    或 docker kill 容器的ID
     docker stop $(docker ps -aq) 批量停止容器
    或 docker ps -a |awk 'NR>=2 {print $1}' | xargs docker stop 

image.png

六、进入容器

格式:docker exec -it 容器ID/名称 /bin/bash
-i 选项表示让容器的输入保持打开;
-t 选项表示让 Docker 分配一个伪终端。

image.png

七、查看容器的元数据

docker inspect 容器id

image.png

八、容器的日志

 格式:
 docker logs 容器ID/容器名

image.png

九、删除容器

docker rm <容器ID/名称> [-f]
docker rm $(docker ps -aq) 批量删除容器

image.png

image.png

十、宿主机和容器之间的文件复制

1.将宿主机中的文件复制到容器中
 echo 123 > /opt/f1.txt
 docker cp /opt/f1.txt  容器ID:/tmp/

image.png image.png

2.将容器中的文件复制到宿主机中
 docker cp 容器ID:/tmp/f1.txt  ~/abc.txt   #复制并重命名

image.png

十一、容器的导出与导入

 #导出格式:
 docker export 容器ID/名称 > 导出文件名
 ​
 #导入格式:
 cat 导出文件名 | docker import – 镜像名称:标签

image.png

image.png