Docker 常用命令【汇总+实践】

本文详细介绍了Docker中的关键命令,包括创建和启动容器(如`dockerrun`和`dockerstart`),管理镜像(如`dockerbuild`和`dockerpull`),以及网络、卷和系统管理操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker 有多个命令,用于管理容器、镜像、网络、卷等资源。以下是一些常用的Docker命令,列出了一些主要功能和用例:

  1. 容器命令

    • docker run:创建和启动一个新容器。
      # 在端口8080中后台运行镜像为nginx:latest的容器mynginx
      
      docker run -t -d --name mynginx -p 8080:80 nginx:latest
      
    • docker start:启动一个或多个已停止的容器。以下mynginx可替换成对应的容器ID
      # 启动一个容器
      docker start mynginx
      
      # 启动所有容器
      docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
      
    • docker stop:停止一个正在运行的容器。
      # 停止一个容器
      docker stop mynginx
      
      # 停止全部容器
      docker stop $(docker ps -aq)
      
      docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)`
      
    • docker restart:重启一个容器。
      docker restart mynginx
      
    • docker pause:暂停一个容器的进程。
      docker pause mynginx
      
    • docker unpause:取消暂停一个容器的进程。
      docker unpause mynginx
      
    • docker exec:在运行的容器中执行命令。
      docker exec -it mynginx bash
      
    • docker rm:删除一个或多个容器。
      # 删除一个容器
      docker rm mynginx
      
      
      # 删除所有容器
      docker rm $(docker ps -aq)
      
      docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
      
    • docker ps:列出正在运行的容器。
    • docker ps -a:列出所有容器,包括停止的。
    • docker logs:查看容器的日志输出。
      docker logs -f mynginx
      
    • docker stats:查看容器的资源使用情况。
    • docker top:查看容器内部进程的信息。
      docker top mynginx
      
  2. 镜像命令

    • docker images:列出所有镜像。
    • docker pull:从镜像仓库拉取一个镜像。
      docker pull nginx:latest
      
    • docker build:从Dockerfile构建一个新镜像。
      docker build -t myapp:1.0.0 -f /root/myapp/ .
      
    • docker push:将镜像推送到镜像仓库。
      # 给本地镜像myapp:1.0.0打标签,yourusername/myapp:latest为 [DockerHub](https://hub.docker.com/) 的用户名和镜像
      docker tag myapp:latest yourusername/myapp:latest
      
      # 推送镜像
      docker push yourusername/myapp:latest
      
    • docker rmi:删除一个或多个镜像。
      # 删除一个镜像
      docker rmi mynginx
      
      # 删除所有镜像
      docker rmi $(docker images | awk '{print $3}' |tail -n +2)
      
    • docker history:查看镜像的历史记录。
      docker history nginx
      
  3. 网络命令

    • docker network ls:列出所有网络。
    • docker network create:创建一个新网络。
      docker network create mynetwork
      
    • docker network connect:将容器连接到网络。
      docker network connect mynetwork mynginx
      
    • docker network disconnect:从网络中断开容器。
      docker network disconnect mynetwork mynginx
      
  4. 卷命令

    • docker volume ls:列出所有卷。
    • docker volume create:创建一个新卷。
      docker volume create mydata
      
    • docker volume rm:删除一个或多个卷。
      docker volume rm mydata
      
    • docker volume inspect:查看卷的详细信息。
      docker volume inspect mydata
      
  5. 其他命令

    • docker info:显示Docker系统信息。
    • docker version:显示Docker版本信息。
    • docker-compose:用于管理多容器应用的工具(需要安装Docker Compose)。
      # 查看版本信息
      docker-compose -v
      
      # 以后台模式启动Compose定义的所有容器
      docker-compose up -d
      
      # 停止Compose定义的所有容器,但不会删除它们
      docker-compose stop
      
      # 停止并移除Compose定义的所有容器、网络和卷
      docker-compose down
      

查看哪些容器用了哪个镜像

# docker ps -a --filter "ancestor=<IMAGE_ID_OR_NAME>"

docker ps -a --filter "ancestor=nginx:latest"

复制容器文件

# docker cp <Source> <Target>

docker cp mynginx:/etc/nginx/nginx.conf /var/lib/docker_colume/nginx/conf/nginx.conf

设置阿里镜像源

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast
# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}

重启docker

systemctl daemon-reload;
systemctl restart docker;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值