Docker常用命令都在这里了

Docker常用命令大全

Docker是一个强大的工具,它允许开发者和系统管理员在容器中运行应用程序。以下是100个常用的Docker命令,每个命令都附带使用场景和示例。

1. docker run - 创建并启动一个新容器

  • 场景:需要启动一个新的容器实例。
  • 示例
    docker run -d --name mynginx -p 8080:80 nginx
    

2. docker start - 启动一个或多个已停止的容器

  • 场景:容器已停止,需要重新启动。
  • 示例
    docker start mynginx
    

3. docker stop - 停止一个或多个正在运行的容器

  • 场景:需要安全地停止容器。
  • 示例
    docker stop mynginx
    

4. docker restart - 重启一个或多个容器

  • 场景:需要重启容器以应用配置更改。
  • 示例
    docker restart mynginx
    

5. docker rm - 移除一个或多个容器

  • 场景:容器不再需要,需要删除。
  • 示例
    docker rm mynginx
    

6. docker rmi - 移除一个或多个镜像

  • 场景:不再需要某个镜像,需要从本地删除。
  • 示例
    docker rmi nginx
    

7. docker images - 列出本地镜像

  • 场景:查看本地Docker镜像。
  • 示例
    docker images
    

8. docker ps - 列出当前正在运行的容器

  • 场景:查看正在运行的容器。
  • 示例
    docker ps
    

9. docker logs - 获取容器的日志输出

  • 场景:需要查看容器的日志信息。
  • 示例
    docker logs mynginx
    

10. docker attach - 附加到一个正在运行的容器

  • 场景:需要与容器的标准输入、输出和错误流交互。
  • 示例
    docker attach mynginx
    

11. docker exec - 在运行的容器中执行命令

  • 场景:需要在容器内执行命令。
  • 示例
    docker exec -it mynginx /bin/bash
    

12. docker build - 从Dockerfile构建镜像

  • 场景:需要根据Dockerfile构建新的镜像。
  • 示例
    docker build -t mynginx .
    

13. docker pull - 从仓库拉取镜像

  • 场景:需要从Docker Hub或其他仓库下载镜像。
  • 示例
    docker pull nginx
    

14. docker push - 上传镜像到仓库

  • 场景:需要将本地镜像上传到Docker Hub。
  • 示例
    docker push myusername/mynginx
    

15. docker login - 登录到Docker Hub

  • 场景:需要登录Docker Hub以推送或拉取私有镜像。
  • 示例
    docker login
    

16. docker logout - 从Docker Hub登出

  • 场景:完成操作后需要登出。
  • 示例
    docker logout
    

17. docker tag - 标记本地镜像,为其设置仓库标签

  • 场景:需要为镜像设置标签以便于推送。
  • 示例
    docker tag nginx myusername/mynginx
    

18. docker inspect - 返回容器或镜像的详细低级信息

  • 场景:需要获取容器或镜像的详细信息。
  • 示例
    docker inspect mynginx
    

19. docker network ls - 列出Docker网络

  • 场景:查看所有Docker网络。
  • 示例
    docker network ls
    

20. docker network create - 创建Docker网络

  • 场景:需要创建一个新的Docker网络。
  • 示例
    docker network create mynet
    

21. docker network rm - 删除Docker网络

  • 场景:不再需要某个Docker网络。
  • 示例
    docker network rm mynet
    

22. docker network inspect - 显示网络详情

  • 场景:需要查看网络的详细信息。
  • 示例
    docker network inspect mynet
    

23. docker volume ls - 列出Docker卷

  • 场景:查看所有Docker卷。
  • 示例
    docker volume ls
    

24. docker volume create - 创建Docker卷

  • 场景:需要创建一个新的Docker卷。
  • 示例
    docker volume create myvol
    

25. docker volume rm - 删除Docker卷

  • 场景:不再需要某个Docker卷。
  • 示例
    docker volume rm myvol
    

26. docker volume inspect - 显示卷的详细信息

  • 场景:需要查看卷的详细信息。
  • 示例
    docker volume inspect myvol
    

27. docker cp - 在Docker主机和容器之间复制文件或文件夹

  • 场景:需要从容器中拷贝文件到主机或反之。
  • 示例
    docker cp mynginx:/usr/share/nginx/html/index.html .
    

28. docker commit - 从容器创建一个新的镜像

  • 场景:需要保存更改后的容器状态为新的镜像。
  • 示例
    docker commit mynginx mynginx:v2
    

29. docker save - 将镜像保存到文件中

  • 场景:需要保存镜像到文件以便备份或迁移。
  • 示例
    docker save -o mynginx.tar mynginx:v2
    

30. docker load - 从文件中加载镜像

  • 场景:需要从文件中加载镜像到Docker。
  • 示例
    docker load -i mynginx.tar
    

31. docker export - 导出容器的内容为一个tar文件

  • 场景:需要导出容器文件系统的tar文件。
  • 示例
    docker export mynginx > mynginx.tar
    

32. docker import - 从tar文件创建一个新的镜像

  • 场景:需要从tar文件创建新的镜像。
  • 示例
    docker import mynginx.tar mynginx:new
    

33. docker stats - 显示容器的实时资源使用统计

  • 场景:需要查看容器的资源使用情况。
  • 示例
    docker stats
    

34. docker top - 查看容器内运行的进程

  • 场景:需要查看容器内部的进程信息。
  • 示例
    docker top mynginx
    

35. docker port - 列出容器的端口映射

  • 场景:需要查看容器端口映射到主机的情况。
  • 示例
    docker port mynginx
    

36. docker rename - 重命名容器

  • 场景:需要更改容器的名称。
  • 示例
    docker rename mynginx newname
    

37. docker update - 更新容器配置

  • 场景:需要更新容器的资源限制。
  • 示例
    docker update --cpus="2" mynginx
    

38. docker pause - 暂停容器内的所有进程

  • 场景:需要暂停容器中的所有进程。
  • 示例
    docker pause mynginx
    

39. docker unpause - 恢复容器内的所有进程

  • 场景:需要恢复容器中的所有进程。
  • 示例
    docker unpause mynginx
    

40. docker create - 创建一个新的容器但不启动它

  • 场景:需要创建容器但立即不运行。
  • 示例
    docker create --name mynginx -p 8080:80 nginx
    

41. docker diff - 查看容器文件系统的更改

  • 场景:需要查看容器文件系统的更改。
  • 示例
    docker diff mynginx
    

42. docker events - 显示实时的Docker事件

  • 场景:需要监视Docker守护进程的实时事件。
  • 示例
    docker events
    

43. docker search - 在Docker Hub搜索镜像

  • 场景:需要在Docker Hub搜索可用的镜像。
  • 示例
    docker search nginx
    

44. docker prune - 移除未使用的Docker对象

  • 场景:需要清理未使用的容器、镜像、网络和卷。
  • 示例
    docker system prune
    

45. docker system df - 显示Docker系统的数据使用情况

  • 场景:需要查看Docker占用的磁盘空间。
  • 示例
    docker system df
    

46. docker build --cache-from - 使用缓存来加速镜像构建

  • 场景:需要利用已有的镜像缓存来加速构建过程。
  • 示例
    docker build --cache-from nginx:latest -t mynginx .
    

47. docker network connect - 将容器连接到网络

  • 场景:需要将容器连接到已存在的网络。
  • 示例
    docker network connect mynet mynginx
    

48. docker network disconnect - 将容器从网络断开

  • 场景:需要将容器从网络中断开。
  • 示例
    docker network disconnect mynet mynginx
    

49. docker container prune - 清理已停止的容器

  • 场景:需要清理所有已停止的容器。
  • 示例
    docker container prune
    

50. docker image prune - 清理未使用的镜像

  • 场景:需要清理所有未使用的镜像。
  • 示例
    docker image prune
    

51. docker volume prune - 清理未使用的卷

  • 场景:需要清理所有未使用的卷以释放空间。
  • 示例
    docker volume prune
    

52. docker network prune - 清理未使用的网络

  • 场景:需要清理所有未使用的网络。
  • 示例
    docker network prune
    

53. docker rmi -f - 强制删除一个或多个镜像

  • 场景:需要删除即使被容器使用的镜像。
  • 示例
    docker rmi -f mynginx
    

54. docker rm -f - 强制删除一个或多个容器

  • 场景:需要删除即使正在运行的容器。
  • 示例
    docker rm -f mynginx
    

55. docker logs -f - 跟踪容器的日志输出

  • 场景:需要实时跟踪容器的日志输出。
  • 示例
    docker logs -f mynginx
    

56. docker stats -a - 显示所有容器的资源使用统计

  • 场景:需要查看所有容器的资源使用情况。
  • 示例
    docker stats -a
    

57. docker build --no-cache - 构建镜像时不使用缓存

  • 场景:需要确保镜像构建时总是最新的。
  • 示例
    docker build --no-cache -t mynginx .
    

58. docker build --progress=plain - 显示简单的构建进度

  • 场景:需要在构建镜像时显示简单的进度信息。
  • 示例
    docker build --progress=plain -t mynginx .
    

59. docker run --read-only - 以只读模式运行容器

  • 场景:需要确保容器文件系统是只读的。
  • 示例
    docker run --read-only -d --name mynginx nginx
    

60. docker run --cap-add - 向容器添加Linux能力

  • 场景:需要给容器添加特定的Linux能力。
  • 示例
    docker run --cap-add SYS_ADMIN -d --name mynginx nginx
    

61. docker run --cap-drop - 从容器中删除Linux能力

  • 场景:需要从容器中删除特定的Linux能力。
  • 示例
    docker run --cap-drop MKNOD -d --name mynginx nginx
    

62. docker run --pid=host - 与宿主机共享PID命名空间

  • 场景:需要容器与宿主机共享进程ID。
  • 示例
    docker run --pid=host -d --name mynginx nginx
    

63. docker run --uts=host - 与宿主机共享UTS命名空间

  • 场景:需要容器与宿主机共享网络接口。
  • 示例
    docker run --uts=host -d --name mynginx nginx
    

64. docker run --ipc=host - 与宿主机共享IPC命名空间

  • 场景:需要容器与宿主机共享进程间通信资源。
  • 示例
    docker run --ipc=host -d --name mynginx nginx
    

65. docker run --privileged - 以特权模式运行容器

  • 场景:需要容器拥有更多的权限。
  • 示例
    docker run --privileged -d --name mynginx nginx
    

66. docker run --user - 指定容器内运行用户

  • 场景:需要指定容器内运行的非root用户。
  • 示例
    docker run --user 1000:1000 -d --name mynginx nginx
    

67. docker run --env - 设置环境变量

  • 场景:需要在容器内设置环境变量。
  • 示例
    docker run --env MY_ENV_VAR=my_value -d --name mynginx nginx
    

68. docker run --env-file - 从文件设置环境变量

  • 场景:需要从文件中设置多个环境变量。
  • 示例
    docker run --env-file ./env.list -d --name mynginx nginx
    

69. docker run --label - 设置容器的元数据

  • 场景:需要为容器设置标签(label)。
  • 示例
    docker run --label com.example.key=value -d --name mynginx nginx
    

70. docker run --device - 添加主机设备到容器

  • 场景:需要将宿主机的设备添加到容器中。
  • 示例
    docker run --device /dev/snd:/dev/snd -d --name mynginx nginx
    

71. docker run -v - 挂载卷或目录到容器

  • 场景:需要将宿主机的目录挂载到容器中。
  • 示例
    docker run -v /my/data:/data -d --name mynginx nginx
    

72. docker run --volumes-from - 挂载其他容器的卷

  • 场景:需要挂载其他容器的卷到当前容器。
  • 示例
    docker run --volumes-from other_container -d --name mynginx nginx
    

73. docker run --add-host - 添加自定义的DNS条目

  • 场景:需要添加自定义的DNS条目。
  • 示例
    docker run --add-host myhost:192.168.1.1 -d --name mynginx nginx
    

74. docker run --net=host - 使用宿主机网络

  • 场景:需要容器使用宿主机的网络。
  • 示例
    docker run --net=host -d --name mynginx nginx
    

75. docker run --dns - 设置容器的DNS服务器

  • 场景:需要为容器设置特定的DNS服务器。
  • 示例
    docker run --dns 8.8.8.8 -d --name mynginx nginx
    

76. docker run --restart - 设置容器的重启策略

  • 场景:需要设置容器的重启策略。
  • 示例
    docker run --restart always -d --name mynginx nginx
    

77. docker run --link - 将容器连接到另一个容器或服务

  • 场景:需要将容器连接到另一个容器或服务。
  • 示例
    docker run --link other_container:alias -d --name mynginx nginx
    

78. docker run --cpu-period - 设置CPU周期的总量

  • 场景:需要限制容器的CPU周期总量。
  • 示例
    docker run --cpu-period 50000 -d --name mynginx nginx
    

79. docker run --cpu-quota - 设置CPU配额

  • 场景:需要限制容器的CPU使用配额。
  • 示例
    docker run --cpu-quota 50000 -d --name mynginx nginx
    

80. docker run --memory - 设置容器的内存限制

  • 场景:需要限制容器的内存使用。
  • 示例
    docker run --memory 512m -d --name mynginx nginx
    

81. docker run --cpu-shares - 设置CPU共享权重

  • 场景:需要调整容器的CPU共享权重。
  • 示例
    docker run --cpu-shares 1024 -d --name mynginx nginx
    

82. docker run --oom-kill-disable - 禁用OOM(内存不足)时杀死容器

  • 场景:需要禁用当内存不足时自动杀死容器。
  • 示例
    docker run --oom-kill-disable -d --name mynginx nginx
    

83. docker run --oom-score-adj - 设置OOM调整分数

  • 场景:需要设置容器的OOM调整分数。
  • 示例
    docker run --oom-score-adj=500 -d --name mynginx nginx
    

84. docker run --stop-signal - 设置容器的停止信号

  • 场景:需要设置容器的停止信号。
  • 示例
    docker run --stop-signal=SIGRTMIN+3 -d --name mynginx nginx
    

85. docker run --ulimit - 设置ulimit选项

  • 场景:需要设置容器的ulimit选项。
  • 示例
    docker run --ulimit nofile=1024:1024 -d --name mynginx nginx
    

86. docker run --health-cmd - 设置健康检查命令

  • 场景:需要设置容器的健康检查命令。
  • 示例
    docker run --health-cmd="curl -f http://localhost/ || exit 1" -d --name mynginx nginx
    

87. docker run --health-interval - 设置健康检查间隔

  • 场景:需要设置容器的健康检查间隔。
  • 示例
    docker run --health-interval=5s -d --name mynginx nginx
    

88. docker run --health-retries - 设置健康检查重试次数

  • 场景:需要设置容器的健康检查重试次数。
  • 示例
    docker run --health-retries=3 -d --name mynginx nginx
    

89. docker run --health-timeout - 设置健康检查超时时间

  • 场景:需要设置容器的健康检查超时时间。
  • 示例
    docker run --health-timeout=2s -d --name mynginx nginx
    

90. docker run --health-start-period - 设置健康检查开始前的等待时间

  • 场景:需要设置容器启动后健康检查开始前的等待时间。
  • 示例
    docker run --health-start-period=10s -d --name mynginx nginx
    

91. docker build --build-arg - 为Dockerfile设置构建参数

  • 场景:需要在构建镜像时传递参数。
  • 示例
    docker build --build-arg ENV_VAR=value -t mynginx .
    

92. docker run --shm-size - 设置容器的共享内存大小

  • 场景:需要为容器设置共享内存的大小。
  • 示例
    docker run --shm-size=1g -d --name mynginx nginx
    

93. docker run --cpuset - 设置容器的CPU亲和性

  • 场景:需要限制容器运行在特定的CPU核心上。
  • 示例
    docker run --cpuset="0-1" -d --name mynginx nginx
    

94. docker run --gpus - 允许容器访问GPU

  • 场景:需要容器访问宿主机的GPU资源。
  • 示例
    docker run --gpus all -d --name mygpuapp mygpuimage
    

95. docker run --isolation - 设置容器的隔离技术

  • 场景:需要指定容器的隔离技术(Windows平台)。
  • 示例
    docker run --isolation=hyperv -d --name mywindowsapp mywindowsimage
    

96. docker run --sysctl - 设置容器的内核参数

  • 场景:需要为容器设置特定的内核参数。
  • 示例
    docker run --sysctl net.core.somaxconn=1024 -d --name mynginx nginx
    

97. docker run --add-your-unix-group - 添加用户到容器的Unix组

  • 场景:需要将用户添加到容器的Unix组。
  • 示例
    docker run --add-your-unix-group -d --name mynginx nginx
    

98. docker run --stop-timeout - 设置容器停止时的超时时间

  • 场景:需要设置容器在停止时等待的超时时间。
  • 示例
    docker run --stop-timeout 60 -d --name mynginx nginx
    

99. docker run --tmpfs - 挂载tmpfs卷

  • 场景:需要为容器挂载tmpfs卷,提供临时存储。
  • 示例
    docker run --tmpfs /run --tmpfs /tmp -d --name mynginx nginx
    

100. docker run --init - 运行一个init进程来管理容器内进程的生命周期

  • 场景:需要为容器设置init进程。
  • 示例
    docker run --init -d --name mynginx nginx
    

结语

Docker命令行工具提供了丰富的功能,帮助用户高效地管理容器化应用。以上列出的100个命令覆盖了从基本操作到高级管理的各个方面。掌握这些命令将极大地提升你在使用Docker时的效率和灵活性。

希望这篇博文能够成为你学习和使用Docker的宝贵资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行动π技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值