Docker命令


命令
作用
样例
镜像操作

docker pull [镜像名]:[标签]
从 Docker 镜像仓库拉取指定的镜像
docker pull nginx:latest
会拉取最新版本的 Nginx 镜像
docker images
列出本地所有的 Docker 镜像

docker rmi [镜像 ID 或名称]

删除本地的指定镜像。若要删除多个镜像,可在命令后依次列出镜像 ID 或名称。
docker rmi docker

docker build -t [镜像名称]:[标签] [路径]

依据 Dockerfile 构建新的 Docker 镜像

docker build -t myapp:1.0
会在当前目录下根据 Dockerfile 构建名为 myapp、标签为 1.0 的镜像。
docker login
docker tag [镜像名]:[标签] [用户名]:[新镜像名:标签]
docker push [镜像名]:[标签]


将本地镜像推送到 Docker 镜像仓库


docker commit [选项] <容器 ID 或名称> <仓库名称>[:<标签>]

容器打包成镜像
-m 添加提交信息 -a 添加作者信息
docker commit -m "这是从vs容器创建的新镜像" -a "HYH" vs vsimage:Wise
docker save -o 存放的文件路径 <仓库名称>[:<标签>]
保存到本地的tar文件
docker save -o /etc/docker/images/vsimage.tar vsimage:Wise
docker load -i vsimage.tar
解压为镜像文件

容器操作

docker ps

列出正在运行的容器
加上-a,可查看所有[包括已停止的]

docker run [选项] [镜像名]:[标签] [命令]

基于指定镜像创建并运行一个新容器
  • -d:让容器在后台运行。
  • -p:进行端口映射,格式为 主机端口:容器端口
  • -v:实现数据卷挂载,格式为 主机路径:容器路径
  • -e:设置环境变量。 --env
  • --rm 容器停止后删除
docker run -d -p 6060:80 --name vsnginx nginx
会在后台运行一个 Nginx 容器,并将主机的 6060 端口映射到容器的 80 端口

docker start [容器 ID 或名称]
docker stop [容器 ID 或名称]
docker restart [容器 ID 或名称]
docker rm [容器 ID 或名称] Docker stats [容器 ID 或名称]
强制删除正在运行的容器docker rm -f [容器 ID 或名称]


❤docker exec -it [容器 ID 或名称] [命令]

在运行的容器内执行命令
  • -i:保证容器的标准输入流保持打开状态。
  • -t:为容器分配一个伪终端。
docker exec -it vsnginx bash

docker logs [容器 ID 或名称]

查看容器的日志输出
若要实时查看日志,可使用 docker logs -f [容器 ID 或名称]




容器网络
docker network inspect <网络名称>


docker network create <网络名称>


存储

docker volume create <name>
创建数据卷
docker volume create nginx_shared_volume
docker volume inspect <name>
查看数据卷的信息
docker volume inspect nginx_shared_volume
docker run -d -p 6060:80 -v /etc/docker/nginx:/etc/nginx --name vsnginx nginx
目录挂载 -v <主机路径>:<容器路径>
卷映射 -v <卷名>:<容器路径>
卷默认放在/var/lib/docker/volumes/<xx>
docker run -d -p 6060:80 -v /etc/docker/nginx:/etc/nginx --name vsnginx --network <xxx> nginx
compose
docker-compose -f <filename> up -d
通过yml来创建容器

docker compose up -d
上线

docker compose down
下线

docker compose start x1 x2 x3 docker compose stop x1 x2 x3


docker compose scale x2=3
该服务的容器实例数量调整为 3 个

docker update --restart always <容器 ID 或名称>
docker update --restart on-failure:3 <容器 ID 或名称>  # 设置为失败时重启,最多重试 3 次:
vi /usr/lib/systemd/system/docker.service
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
systemctl daemon-reload
docker启动时执行ExecStartPost的内容
posted @ 2025-03-29 00:03  WiseHYH  阅读(26)  评论(0)    收藏  举报