Docker命令宝典

发布时间:2025-01-16 人气:163次


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


一、Docker基础命令

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


docker version

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


docker info

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


docker --help

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


docker images

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


docker images -a

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


docker pull ubuntu

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


docker rmi <image_id>

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


docker rmi -f <image_id>

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


docker tag <image_id> my_ubuntu:latest

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


docker build -t my_app .

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


docker save -o my_image.tar my_app:latest

12. docker load -i [文件名]:从文件中加载镜像。


docker load -i my_image.tar

13. docker history [镜像ID]:显示镜像的历史层。


docker history <image_id>

二、Docker容器管理命令

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


docker run ubuntu

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


docker run -d ubuntu

16. docker ps:列出当前运行的容器。


docker ps

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


docker ps -a

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


docker stop <container_id>

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


docker start <container_id>

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


docker restart <container_id>

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


docker rm <container_id>

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


docker rm -f <container_id>

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


docker logs <container_id>

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


docker exec -it <container_id> /bin/bash

25. docker attach [容器ID]:连接到正在运行的容器。


docker attach <container_id>

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


docker cp /path/to/local/file <container_id>:/path/in/container/

27. docker top [容器ID]:查看容器中的进程。


docker top <container_id>

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


docker stats <container_id>

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


docker inspect <container_id>

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


docker port <container_id>

三、Docker网络管理命令

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


docker network ls

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


docker network create my_network

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


docker network rm my_network

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


docker network connect my_network <container_id>

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


docker network disconnect my_network <container_id>

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


docker network inspect my_network

四、Docker Compose命令

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


docker-compose up

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


docker-compose up -d

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


docker-compose stop

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


docker-compose restart

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


docker-compose rm

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


docker-compose down

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


docker-compose logs

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


docker-compose ps

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


docker-compose config

五、Docker Swarm命令

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


docker swarm init

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


docker swarm join-token worker

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


docker swarm join-token manager

49. docker swarm leave:离开Swarm集群。


docker swarm leave

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


docker swarm leave -f

51. docker node ls:列出Swarm集群中的节点。


docker node ls

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


docker service create --name my_service ubuntu

53. docker service ls:列出Swarm集群中的所有服务。


docker service ls

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


docker service rm my_service

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


docker service update my_service

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


docker service logs my_service

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


docker service scale my_service=5

六、Docker Volume管理命令

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


docker volume ls

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


docker volume create my_volume

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


docker volume rm my_volume

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


docker volume inspect my_volume

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


docker volume prune

七、Docker Secret和Config管理命令

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


echo "my_secret_data" | docker secret create my_secret -

64. docker secret ls:列出所有的Docker secrets。


docker secret ls

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


docker secret rm my_secret

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


echo "my_config_data" | docker config create my_config -

67. docker config ls:列出所有的Docker configs。


docker config ls

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


docker config rm my_config

八、Docker镜像仓库管理命令

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


docker login

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


docker logout

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


docker tag my_image:latest myregistrydomain.com/my-namespace/my-image:latest

72. docker push [仓库地址]/[镜像名]:[标签]:推送镜像到仓库。


docker push myregistrydomain.com/my-namespace/my-image:latest

73. docker search [镜像名]:在Docker Hub上搜索镜像。


docker search ubuntu

九、Docker系统级命令

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


docker system df

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


docker system prune

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


docker events

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


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

十、Docker高级命令和技巧

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


docker run --name my_container ubuntu

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


docker run -e MY_VAR=my_value ubuntu

80. docker run --rm [镜像名]:容器运行后自动删除。


docker run --rm ubuntu

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


docker run -p 8080:80 ubuntu

82. docker volume create --driver [存储驱动] [卷名]:指定存储驱动创建卷。


docker volume create --driver local my_volume

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


docker service create --replicas 3 my_image

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


docker network create --driver overlay my_network

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


docker run --network my_network ubuntu

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


docker exec -u root <container_id> whoami

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


docker run --cap-add=NET_ADMIN ubuntu

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


docker run --security-opt seccomp=unconfined ubuntu

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


docker run --cgroupns=host ubuntu

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


docker run --uts=host ubuntu

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


docker run --pid=host ubuntu

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


docker run --ipc=host ubuntu

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


docker run --network=host ubuntu

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


docker run --read-only ubuntu

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


docker run --tmpfs /tmp ubuntu

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


docker run --device=/dev/sda:/dev/xvda ubuntu

97. docker run --restart=[策略] [镜像名]:设置容器的重启策略。


docker run --restart=always ubuntu

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


docker service create --log-driver=json-file my_image

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


docker service create --limit-cpu="0.50" --limit-memory="512M" my_image

100. docker system prune -a --volumes:删除所有未使用的数据,包括卷。

bash docker system prune -a --volumes


选择订阅-通过 Docker 订阅在协作、安全性和支持之间找到完美的平衡!
在线客服
联系方式

热线电话

18221674630

上班时间

周一到周五

公司电话

18221674630

二维码
线
获取免费体验资格

提交后,我们将在3个小时内与您联系