docker 3:容器常用命令

docker 3:拉取和运行镜像

区分镜像与容器

  • 镜像是 APP 的模版,包含 APP 和 APP 的依赖环境。镜像可以从 docker hub 上传和下载。
  • 容器是运行/停止的 APP,一个镜像可以启动多个容器。
  • 镜像是只读的。容器有两部分数据:只读的镜像 + 可读写的文件层。
  • Docker 容器使用联合文件系统(union file system,UFS),它允许多个文件系统以层级方式挂载,并表现为一个单一的文件系统。镜像的文件系统以只读方式挂载,任何对运行中容器的改变则只会发生在它之上的可读写层。

启动容器

docker run hello-world
  • 启动一个容器,容器基于名为 hello-world 的镜像
  • 如果本地不存在该镜像,则自动从 Docker Hub
  • 没有指定容器名字,容器启动后会自动生成容器名

练习

​​

与容器交互

docker run -i -t debian /bin/bash
  • -t​ 要求容器提供一个 终端/伪终端 以便用户操作容器内的系统
  • -i​​ 允许你对容器内的标准输入 (STDIN) 进行交互
  • 容器的生命周期会保持,直到 exit​ 或按下 CTRL+D​

练习

docker 3:容器常用命令_第1张图片

容器启动时执行命令

docker run debian echo "hello world"
  • 启动后将执行命令 echo "hello world"

练习

image

查看本地所有的容器

#查看正在运行的容器
docker ps

#查看停止运行的容器
docker ps -a

练习

image

  • ​ID​ 和 NAMES​ 都可以一个容器的标识身份,以便对容器进行创建删除停止重启等操作。

  • ​COMMAND​ 是容器启动时执行的命令。

  • ​CREATED​ 容器创建时长。

  • ​STATUS​ 容器当前状态,运行,停止。

  • ​PORTS​ 容器内部网络和外部网络的端口映射

容器命名

  • 系统命名方式:当用户没有为容器指定名字是,则系统随机命名:形容词_科学名人

  • 用户命名

docker run -it --name My --hostname HomeServer debian /bin/bash

--name​ 指定容器的名字

--hostname​ 指定容器内主机名

练习

image

容器日志

docker logs siyuan
  • 查看容器 siyuan​ 里 曾经发生过的一切事情

查看已经停止的容器

docker ps -aq -f status=exited
  • 查看所有处于停止状态的容器

启动已停止的容器

docker start My
  • 启动名为 My 的停止状态的容器

删除容器

docker rm soulio
  • 删除容器 soulio

清理容器数据卷

#清理所有已停止的容器
docker rm -v $(docker ps -aq -f status=exited)

⚠ 注意 -v 参数在这里的作用,它意味着当所有由 Docker 管理的数据卷已经没有和任何容器关联时,都会一律删除。

#清理指定名字的容器
docker rm -v My

容器的状态

  • 已创建(created)
  • 启动中(restarting)
  • 运行中(running)
  • 已暂停(paused)
  • 已退出(exited)

你可能感兴趣的:(Linux,dokcer)