Docker容器启动、停止、删除等操作。


1、启动容器

1
sudo docker run -i -t ubuntu /bin/bash

1-启动容器

说明:

  1. 参数-i:保证容器开启STDIN,可以进行持久化的命令行交互操作
  2. 参数-t:告诉Docker为创建的容器分配一个伪tty终端
  3. 参数-i-t可以连写为-it
  4. 镜像ubuntu如果本地不存在,则会从Docker Hub下载并保存到本地
  5. Docker使用镜像创建新的容器后,执行/bin/bash命令,进入了容器内部的shell

2、使用容器

2.1 检查容器进程

1
ps -aux

2-检查容器进程

2.2 在容器内安装软件

1
apt-get update && apt-get install vim

2.3 列出容器

1
2
3
docker ps     # 列出正在运行的容器
docker ps -a  # 列出所有容器
docker ps -l  # 列出最后一个运行的容器

3-列出容器

注意,指代容器的三种方式:

  1. 短的UUID,即docker ps命令下的${CONTAINER ID}字段
  2. 长的UUID,在容器对应的文件夹内可以发现
  3. 容器名称,即docker ps命令下的${NAMES}字段

2.4 重命名容器

1
sudo docker run --name lzwang_container -it ubuntu /bin/bash

4-重命名容器

3、启动停止容器

3.1 启动已经停止的容器

1
2
sudo docker start lzwang_container  # 使用容器名称启动
sudo docker start 6cb71ec36ae1      # 使用容器ID启动

5-启动已经停止的容器

3.2 重启容器

手动重启容器

1
2
sudo docker restart lzwang_container  # 使用容器名称重启
sudo docker restart 6cb71ec36ae1      # 使用容器ID重启

创建自动重启的容器

1
2
sudo docker run --restart=always --name lzwang_container -d  # 总是自动重启
sudo docker run --restart=on-failure:5 --name lzwang_container -d  # 最多重启5次

3.3 停止已启动的容器

1
2
sudo docker stop lzwang_container  # 使用容器名称停止
sudo docker stop 6cb71ec36ae1      # 使用容器ID停止

4、使用守护式容器

4.1 创建守护式容器

1
sudo docker run --name lzwang_container_2 -it -d ubuntu /bin/bash

6-创建守护式容器

4.2 查看守护式容器进程

1
sudo docker top lzwang_container_2

7-查看守护式容器进程

5、查看容器日志

1
2
3
4
5
6
sudo docker run --name lzwang_container_2 -it -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"

sudo docker logs lzwang_container_2
sudo docker logs -f lzwang_container_2   # 参数 -f 表示跟踪 log 输出
sudo docker logs -ft lzwang_container_2  # 参数 -t 表示打上时间戳,跟踪 log 输出
sudo docker logs --tail 10 -f lzwang_container_2  # 参数 --tail 10,获取日志最后10行内容

8-查看容器日志

6、深入查看容器

1
sudo docker inspect lzwang_container_2

注意inspect参数后可以接多个容器,空格分割

9-深入查看容器

7、删除容器

7.1 删除单个容器

删除已停止的容器

1
2
sudo docker rm lzwang_container_2  # 使用名称删除
sudo docker rm c507aa019948        # 使用ID删除

删除正在运行的容器

1
2
sudo docker rm -f lzwang_container_2  # 使用名称删除
sudo docker rm -f c507aa019948        # 使用ID删除

10-删除单个容器

7.2 删除所有容器

1
2
sudo docker rm `sudo docker ps -a -q` # 不包含已启动的容器
sudo docker rm -f `sudo docker ps -a -q` # 包含已启动的容器

11-删除所有容器

参考资料