Py学习  »  docker

100条精髓Docker命令宝典 务必收藏

运维网工 • 6 月前 • 107 次点击  

 

在云计算和微服务盛行的时代,Docker作为一种轻量级的容器化技术,已成为开发、测试及部署应用程序的重要工具。Docker通过封装应用程序及其依赖关系,确保应用在任何环境中都能一致地运行。掌握Docker命令是高效利用Docker的基础。本文将介绍100条Docker核心命令,帮助你深入理解Docker的使用和管理。

一、Docker基础命令

  1. 1. docker version:显示Docker客户端和服务器的版本信息。

    docker version
  2. 2. docker info:显示Docker系统的详细信息,包括容器数量、镜像数量等。

    docker info
  3. 3. docker --help:显示Docker命令的帮助信息。

    docker --help
  4. 4. docker images:列出本地所有的Docker镜像。

    docker images
  5. 5. docker images -a:列出本地所有的Docker镜像(包括中间层镜像)。

    docker images -a
  6. 6. docker pull [镜像名]:从Docker Hub或其他镜像仓库中拉取镜像。

    docker pull ubuntu
  7. 7. docker rmi [镜像ID]:删除本地镜像。

    docker rmi 
  8. 8. docker rmi -f [镜像ID]:强制删除本地镜像。

    docker rmi -f 
  9. 9. docker tag [镜像ID] [新镜像名]:为镜像打标签。

    docker tag  my_ubuntu:latest
  10. 10. docker build -t [镜像名] [Dockerfile路径]:根据Dockerfile构建镜像。

    docker build -t my_app .
  11. 11. docker save -o [文件名] [镜像名]:将镜像保存到文件中。

    docker save -o my_image.tar my_app:latest
  12. 12. docker load -i [文件名]:从文件中加载镜像。

    
    
    
        
    docker load -i my_image.tar
  13. 13. docker history [镜像ID]:显示镜像的历史层。

    docker history 

二、Docker容器管理命令

  1. 14. docker run [镜像名]:运行一个新的容器实例。

    docker run ubuntu
  2. 15. docker run -d [镜像名]:后台运行容器。

    docker run -d ubuntu
  3. 16. docker ps:列出当前运行的容器。

    docker ps
  4. 17. docker ps -a:列出所有容器(包括已停止的)。

    docker ps -a
  5. 18. docker stop [容器ID]:停止运行中的容器。

    
    
    
        
    docker stop 
  6. 19. docker start [容器ID]:启动已停止的容器。

    docker start 
  7. 20. docker restart [容器ID]:重启容器。

    docker restart 
  8. 21. docker rm [容器ID]:删除容器。

    docker rm 
  9. 22. docker rm -f [容器ID]:强制删除容器。

    docker rm -f 
  10. 23. docker logs [容器ID]:查看容器的日志。

    docker logs 
  11. 24. docker exec -it [容器ID] [命令]:在运行的容器中执行命令。

    docker exec -it  /bin/bash
  12. 25. docker attach [容器ID]:连接到正在运行的容器。

    docker attach 
  13. 26. docker cp [宿主机文件路径] [容器ID]:[容器文件路径]:将文件从宿主机复制到容器中。

    docker cp /path/to/local/file :/path/in/container/
  14. 27. docker top [容器ID]:查看容器中的进程。

    docker top 
  15. 28. docker stats [容器ID]:显示容器的资源使用情况(CPU、内存等)。

    docker stats 
  16. 29. docker inspect [容器ID]:查看容器的详细信息。

    docker inspect 
  17. 30. docker port [容器ID]:列出容器的端口映射。

    docker port 

三、Docker网络管理命令

  1. 31. docker network ls:列出所有Docker网络。

    docker network ls
  2. 32. docker network create [网络名]:创建一个新的Docker网络。

    docker network create my_network
  3. 33. docker network rm [网络名]:删除Docker网络。

    docker network rm my_network
  4. 34. docker network connect [网络名] [容器ID]:将容器连接到网络。

    docker network connect my_network 
  5. 35. docker network disconnect [网络名] [容器ID]:将容器从网络中断开。

    docker network disconnect my_network 
  6. 36. docker network inspect [网络名]:查看网络的详细信息。

    docker network inspect my_network

四、Docker Compose命令

  1. 37.  docker-compose up:根据docker-compose.yml文件启动服务。

    docker-compose up
  2. 38. docker-compose up -d:后台启动服务。

    docker-compose up -d
  3. 39. docker-compose stop:停止服务。

    docker-compose stop
  4. 40. docker-compose restart:重启服务。

    docker-compose restart
  5. 41. docker-compose rm:删除服务容器。

    docker-compose rm
  6. 42. docker-compose down:停止并删除服务容器、网络、卷等。

    docker-compose down
  7. 43. docker-compose logs:查看服务日志。

    
    
    
        
    docker-compose logs
  8. 44. docker-compose ps:列出服务的容器。

    docker-compose ps
  9. 45. docker-compose config:验证docker-compose.yml文件的配置。

    docker-compose config

五、Docker Swarm命令

  1. 46. docker swarm init:初始化一个新的Swarm集群。

    docker swarm init
  2. 47. docker swarm join-token worker:获取加入Swarm集群的工作节点令牌。

    docker swarm join-token worker
  3. 48. docker swarm join-token manager:获取加入Swarm集群的管理节点令牌。

    docker swarm join-token manager
  4. 49. docker swarm leave:离开Swarm集群。

    
    
    
        
    docker swarm leave
  5. 50. docker swarm leave -f:强制离开Swarm集群(仅适用于非管理节点)。

    docker swarm leave -f
  6. 51. docker node ls:列出Swarm集群中的节点。

    docker node ls
  7. 52. docker service create [镜像名]:在Swarm集群中创建服务。

    docker service create --name my_service ubuntu
  8. 53. docker service ls:列出Swarm集群中的所有服务。

    docker service ls
  9. 54. docker service rm [服务名]:删除Swarm集群中的服务。

    docker service rm my_service
  10. 55. docker service update [服务名]:更新Swarm集群中的服务。

    docker service update my_service
  11. 56. docker service logs [服务名]:查看Swarm集群中服务的日志。

    docker service logs my_service
  12. 57. docker service scale [服务名]=[副本数]:调整Swarm集群中服务的副本数。

    docker service scale my_service=5

六、Docker Volume管理命令

  1. 58. docker volume ls:列出所有的Docker卷。

    docker volume ls
  2. 59. docker volume create [卷名]:创建一个新的Docker卷。

    docker volume create my_volume
  3. 60. docker volume rm [卷名]:删除Docker卷。

    docker volume rm my_volume
  4. 61. docker volume inspect [卷名]:查看Docker卷的详细信息。

    docker volume inspect my_volume
  5. 62. docker volume prune:删除所有未使用的Docker卷。

    docker volume prune

七、Docker Secret和Config管理命令

  1. 63. docker secret create [secret名] [文件路径]:创建一个Docker secret。

    echo "my_secret_data" | docker secret create my_secret -
  2. 64. docker secret ls:列出所有的Docker secrets。

    docker secret ls
  3. 65. docker secret rm [secret名]:删除Docker secret。

    docker secret rm my_secret
  4. 66. docker config create [config名] [文件路径]:创建一个Docker config。

    echo "my_config_data" | docker config create my_config -
  5. 67. docker config ls:列出所有的Docker configs。

    docker config 
    
    
        
    ls
  6. 68. docker config rm [config名]:删除Docker config。

    docker config rm my_config

八、Docker镜像仓库管理命令

  1. 69. docker login [仓库地址]:登录Docker镜像仓库。

    docker login
  2. 70. docker logout [仓库地址]:登出Docker镜像仓库。

    docker logout
  3. 71. docker tag [镜像名] [仓库地址]/[镜像名]:[标签]:为镜像打标签以便推送到仓库。

    docker tag my_image:latest myregistrydomain.com/my-namespace/my-image:latest
  4. 72. docker push [仓库地址]/[镜像名]:[标签]:推送镜像到仓库。

    docker push myregistrydomain.com/my-namespace/my-image:latest
  5. 73. docker search [镜像名]:在Docker Hub上搜索镜像。

    docker search ubuntu

九、Docker系统级命令

  1. 74. docker system df:显示Docker的磁盘使用情况。

    docker system df
  2. 75. docker system prune:删除所有未使用的数据(镜像、容器、卷和网络)。

    docker system prune
  3. 76. docker events:获取Docker的实时事件。

    docker events
  4. 77. docker info --format '{{json .}}':以JSON格式显示Docker系统信息。

    docker info --format '{{json .}}'

十、Docker高级命令和技巧

  1. 78. docker run --name [容器名] [镜像名]:为容器指定名称。

    docker run --name my_container ubuntu
  2. 79. docker run -e [环境变量名]=[值] [镜像名]:设置环境变量。

    
    
    
        
    docker run -e MY_VAR=my_value ubuntu
  3. 80. docker run --rm [镜像名]:容器运行后自动删除。

    docker run --rm ubuntu
  4. 81. docker run -p [宿主机端口]:[容器端口] [镜像名]:端口映射。

    docker run -p 8080:80 ubuntu
  5. 82. docker volume create --driver [存储驱动] [卷名]:指定存储驱动创建卷。

    docker volume create --driver local my_volume
  6. 83. docker service create --replicas [副本数] [镜像名]:创建指定副本数的服务。

    docker service create --replicas 3 my_image
  7. 84. docker network create --driver [网络驱动] [网络名]:指定网络驱动创建网络。

    docker network create --driver overlay my_network
  8. 85. docker run --network [网络名] [镜像名]:指定网络运行容器。

    docker run --network my_network ubuntu
  9. 86. docker exec -u [用户] [容器ID] [命令]:以指定用户身份在容器中执行命令。

    docker exec -u root  whoami
  10. 87. docker run --cap-add=[功能] [镜像名]:为容器添加Linux功能。

    docker run --cap-add=NET_ADMIN ubuntu
  11. 88. docker run --security-opt [选项]=[值] [镜像名]:设置容器的安全选项。

    docker run --security-opt seccomp=unconfined ubuntu
  12. 89. docker run --cgroupns=host [镜像名]:使用主机的cgroup命名空间。

    docker run --cgroupns=host ubuntu
  13. 90. docker run --uts=host [镜像名]:使用主机的UTS命名空间。

    docker run --uts=host ubuntu
  14. 91. docker run --pid=host [镜像名]:使用主机的PID命名空间。

    docker run --pid=host ubuntu
  15. 92. docker run --ipc=host [镜像名]:使用主机的IPC命名空间。

    docker run --ipc=host ubuntu
  16. 93. docker run --network=host [镜像名]:使用主机的网络。

    docker run --network=host ubuntu
  17. 94. docker run --read-only [镜像名]:以只读模式运行容器。

    docker run --read-only ubuntu
  18. 95. docker run --tmpfs /mount/point [镜像名]:挂载tmpfs文件系统。

    docker run --tmpfs /tmp ubuntu
  19. 96. docker run --device=/dev/[设备] [镜像名]:添加宿主机设备到容器中。

    docker run --device=/dev/sda:/dev/xvda ubuntu
  20. 97. docker run --restart=[策略] [镜像名]:设置容器的重启策略。

    docker run --restart=always ubuntu
  21. 98. docker service create --log-driver=[日志驱动] [镜像名]:设置服务的日志驱动。

    
    
    
        
    docker service create --log-driver=json-file my_image
  22. 99. docker service create --limit-cpu=[值] --limit-memory=[值] [镜像名]:设置服务的资源限制。

    docker service create --limit-cpu="0.50" --limit-memory="512M" my_image
  23. 100. docker system prune -a --volumes:删除所有未使用的数据,包括卷。
    bash docker system prune -a --volumes

这100条Docker命令涵盖了Docker的基本操作、容器管理、网络配置、服务编排、卷管理、安全配置以及系统维护等多个方面,是掌握Docker技术的关键。通过学习和实践这些命令,你可以更高效地利用Docker进行开发、测试和部署工作,提升应用程序的可移植性和可扩展性。希望这篇文章能帮助你更好地理解和使用Docker。

 

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/178087
 
107 次点击