Docker容器的基本操作

2023-01-29发布
|

容器的常用命令

基本命令

操作 命令(全) 命令(简)
容器的创建 docker container run docker run
容器的列出(up) docker container ls docker ps
容器的列出(up和exit) docker container ls -a docker ps -a
容器的停止 docker container stop docker stop
容器的删除 docker container rm docker rm

列出容器id

# 列出已运行的容器id
$ docker container ls -q
# 列出所有容器id
$ docker container ls -aq

批量停止容器

$ docker container ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
cd3a825fedeb   nginx     "/docker-entrypoint.…"   7 seconds ago    Up 6 seconds    80/tcp    mystifying_leakey
269494fe89fa   nginx     "/docker-entrypoint.…"   9 seconds ago    Up 8 seconds    80/tcp    funny_gauss
34b68af9deef   nginx     "/docker-entrypoint.…"   12 seconds ago   Up 10 seconds   80/tcp    interesting_mahavira
7513949674fc   nginx     "/docker-entrypoint.…"   13 seconds ago   Up 12 seconds   80/tcp    kind_nobel

# 可以只写容器id的前几位
$ docker container stop cd3 269 34b 751

# 停止所有已运行的容器
$ docker container stop $(docker container ls -q)

批量删除

和批量停止类似,可以使用 docker container rm $(docker container ls -aq)

docker system prune -a -f 可以快速对系统进行清理,删除停止的容器,不用的image,等等

查看容器占用的进程

$ docker container top <name or id>

容器运行的模式

容器运行时有两种模式,分别是 attach 和 detach

attach模式

范例指令: docker container run -p 80:80 nginx

  • 透过这种方式创建容器的话,容器在前台执行
  • 容器的输入输出结果会反映到本地端,本地端的输入输出也会反映到容器,例如能在终端机看到网页浏览器的 log,ctrl + c 会让容器停止执行
  • 一般情况不推荐使用

detach模式

范例指令: docker container run -d -p 80:80 nginx

  • 容器会在后台执行

查看 detach 模式下的日志: docker container logs <id or name>

连接容器的 shell

  • 创建一个容器并进入交互式模式
$ docker container run -it busybox sh
  • 在一个已经运行的容器里执行一个额外的command
$ docker container run -d nginx
33d2ee50cfc46b5ee0b290f6ad75d724551be50217f691e68d15722328f11ef6

$ docker container exec -it 33d sh
------------ END ------------
© 2021 - 2023 Hexo @ Think . 豫ICP备17046389号-5