Docker 基础 – 容器

Docker 基础 – 容器

温馨提示:本文最后更新于2024-11-28 17:19:49,某些文章具有时效性,若有错误或已失效,请在下方留言

容器常见命令

创建容器

# 完整命令
docker container run <image name>
# 简写命令
docker run <image name> 

列出容器

查看 up 状态的容器

# 完整命令
docker container ls
# 简写命令
docker ps 

查看 up 以及exit状态的容器

# 完整命令
docker container ls -a
# 简写命令
docker ps -a

停止容器

# 完整命令
docker container stop <name or ID>
# 简写命令
docker stop <container name or ID>

如果需要批量停止容器,可以使用以下的命令

# 停止特定的容器
docker container stop <ID1> <ID2> ...
# 停止所有的容器
docker container stop $(docker container ps -aq)

删除容器

# 完整命令
docker container rm <name or ID>
# 简写命令
docker rm <container name or ID>

如果需要批量删除容器,可以使用以下的命令

docker container rm $(docker container ps -aq)

重启容器

# 完整命令
docker container restart <name or ID>
# 简写命令
docker restart <container name or ID>

容器运行模式

容器的运行模式有attach 模式 以及detach 模式

attach 模式

# attach 模式
docker container run -p 80:80 nginx
  1. 容器在前台执行
  2. 容器的输入输出结果会反映到本地端,本地端的输入输出也会反映到容器。例如能在终端机看到网页浏览器的 log,ctrl + c 会让容器停止执行
  3. 一般不推荐使用。

attach 模式

detach 模式

# detach 模式
docker container run -d -p 80:80 nginx
  1. 容器会在后台执行。

detach 模式

容器交互模式

查看容器日志

# 查看最后产生的日志信息
docker logs 容器ID

# 查看动态的日志信息
docker logs -f 容器ID

docker 日志查看

进入容器内部

如果需要创建一个容器并进入交互式模式,可以使用以下的命令

docker container run -it webapp-ai sh

如果需要在一个已经运行的容器里执行一个额外的command ,可以使用以下的命令

docker exec -it a01ce10c49ca /bin/sh

容器执行流程

docker container run内部的执行流程。

docker container run -d --publish 80:80 --name webhost nginx

执行流程 -c

具体的执行步骤:

  1. 在本地查找是否有nginx这个image镜像,如果没有发现
  2. 去远程的image registry查找nginx镜像(默认的registry是Docker Hub)
  3. 下载最新版本的nginx镜像 (nginx:latest 默认)
  4. 基于nginx镜像来创建一个新的容器,并且准备运行
  5. docker engine分配给这个容器一个虚拟IP地址
  6. 在宿主机上打开80端口并把容器的80端口转发到宿主机上
  7. 启动容器,运行指定的命令(这里是一个shell脚本去启动nginx)
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容