经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
docker03-常用命令
来源:cnblogs  作者:林奋斗的成长之路  时间:2021/2/18 15:08:04  对本文有异议

Docker的常用命令

帮助命令

docker version 显示docker的版本信息

docker info       显示docker的系统信息

docker help      显示docker的参数

Docker的官方文档:https://docs.docker.com/engine/

镜像命令

查看当前镜像

  1. [root@lin ~]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. hello-world latest bf756fb1ae65 13 months ago 13.3kB

 

#解释:

REPOSITORY 镜像的仓库源

Tag              标签

IMAGE ID    镜像ID

CREATED   创建时间

SIZE                  大小

#可选项

[root@lin ~]# docker images --help

-a, --all 查看所有镜像

-q, --quiet 查看镜像ID

 

 

docker搜索命令

  1. [root@lin ~]# docker search mysql
  2.  
  3. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  4.  
  5. mysql MySQL is a widely used, open-source relation 10466 [OK]

指定版本下载

  1. [root@lin ~]# docker pull mysql:5.7
  2. 5.7: Pulling from library/mysql
  3. a076a628af6f: Already exists
  4. f6c208f3f991: Already exists
  5. 88a9455a9165: Already exists
  6. 406c9b8427c6: Already exists
  7. 7c88599c0b25: Already exists
  8. 25b5c6debdaf: Already exists
  9. 43a5816f1617: Already exists
  10. 1831ac1245f4: Pull complete
  11. 37677b8c1f79: Pull complete
  12. 27e4ac3b0f6e: Pull complete
  13. 7227baa8c445: Pull complete
  14. Digest: sha256:b3d1eff023f698cd433695c9506171f0d08a8f92a0c8063c1a4d9db9a55808df
  15. Status: Downloaded newer image for mysql:5.7
  16. docker.io/library/mysql:5.7
  17. # docker pull mysql 等于 docker.io/library/mysql:latest

导出镜像 and 导入镜像

  1. #导出
  2. docker save -o busybox.tar busybox:latest
  3. docker save > busybox01.tar busybox:latest
  4. #导入
  5. docker load -i busybox.tar
  6. docker load < busybox.tar
  7. ###### PS:这里使用带参数的命令导出,尽量使用对于带参数的命令导入

容器命令

容器命令的基础是建立在镜像之上 的

我们下载一个centos镜像
docker pull  centos

创建容器

  1. docker create -it --name test busybox:latest sh

新建容器并启动

  1. docker run 【可选参数】 images
  2. 参数:
  3. --name=xx 容器名称
  4. -d 后台运行
  5. -it 交互方式,伪终端
  6. -p 指定容器端口 8080主机端:8080容器段 -p 容器端口
  7. -P 随机映射端口
  8. #创建一台名称为a1的centos主机,登录使用sh命令
  9. [root@lin ~]# docker run -itd --name a1 centos:latest sh
  10. 4584d81270ea66ddaf1663db158f482865be63c6f4b187ae8ea94a2b42769bd8
  11. [root@lin ~]# docker exec -it a1 sh
  12. sh-4.4# ls
  13. bin etc lib lost+found mnt proc run srv tmp var
  14. dev home lib64 media opt root sbin sys usr
  15. sh-4.4# exit #退出容器Ctrl+d也可以
  16. exit
  17. [root@lin ~]#

查看容器

  1. #docker ps命令
  2. 参数:
  3. -a 当前所有容器
  4. -n 1 显示最近创建的几个,默认显示1
  5. -q 显示ID
  6. -s 显示大小
  7. [root@lin ~]# docker ps #查看正在运行的容器
  8. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  9. 4584d81270ea centos:latest "sh" 2 minutes ago Up 2 minutes a1
  10. [root@lin ~]# docker ps -as
  11. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
  12. 4584d81270ea centos:latest "sh" 7 minutes ago Up 7 minutes a1 14B (virtual 209MB)
  13. 94082dde1104 centos "bash" 11 minutes ago Exited (0) 7 minutes ago recursing_aryabhata 0B (virtual 209MB)
  14. 81e87e0dddcb bf756fb1ae65 "/hello" 2 hours ago Exited (0) 2 hours ago happy_ramanujan 0B (virtual 13.3kB)

删除容器

  1. docker rm 容器ID 删除容器,不能删除在运行中的容器,如果需要删除 -f强制
  2. docker rm -f $(docker ps -aq) 删除所有容器
  3. docker rm -aq | axrgs docker rm -f 删除所有容器

启动容器 and 停止容器

  1. docker stop ID #启动
  2. docker restart ID #重启
  3. docker stop ID #停止
  4. docker kill ID #杀死

 

将容器制作成镜像

  1. docker run -itd --name centos centos:8 sh
  2. docker exec -it centos sh
  3. sh-4.4# yum -y install nginx
  4. sh-4.4# nginx
  5. sh-4.4# ps -ef
  6. UID PID PPID C STIME TTY TIME CMD
  7. root 1 0 0 13:51 pts/0 00:00:00 sh
  8. root 12 0 0 13:54 pts/1 00:00:00 sh
  9. root 110 0 0 13:55 ? 00:00:00 nginx: master process nginx
  10. sh-4.4# curl 127.0.0.1
  11. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  12.  
  13. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  14. <head>
  15. <title>Test Page for the Nginx HTTP Server on Red Hat Enterprise Linux</title>
  16. sh-4.4# exit
  17. [root@lin ~]# docker commit -m 'ng' -a 'lin' centos centos.nginx.tar
  18. sha256:9b8912f7716ae063f96f996611b752e7a6b6286a00b614cc0667fd358025b4e4
  19. -m:描述 -a:作者 容器名称 镜像名称

docker日志的查看

  1. [root@lin ~]# docker logs a1
  2. sh-4.4# exit
  3. sh-4.4# exit
  4. sh-4.4# exit
  5. #常用参数
  6. -f, --follow #显示日志
  7. -t, --timestamps #显示时间戳
  8. [root@lin ~]# docker logs -ft a1
  9. 2021-02-05T04:01:35.128760582Z sh-4.4# exit
  10. 2021-02-05T04:01:41.500899867Z sh-4.4# exit
  11. 2021-02-05T04:01:51.404994752Z sh-4.4# exit
  12. #查看一行
  13. [root@lin ~]# docker logs -ft --tail 1 a1
  14. 2021-02-05T04:01:51.404994752Z sh-4.4# exit

docker进程的查看

  1. [root@lin ~]# docker top 897
  2. UID PID PPID C STIME TTY TIME CMD
  3. root 74091 74075 0 16:30 pts/0 00:00:00 sh

docekr元数据的查看

  1. #查看docker容器a1的元数据
  2. [root@lin ~]# docker inspect a1
  3. [
  4. {
  5. "Id": "66fa2e853870af06f32c166c6c75280db4d728c31502ca63bc848dfc96d613a6",
  6. "Created": "2021-02-05T04:01:20.073183239Z",
  7. "Path": "sh",
  8. "Args": [],
  9. "State": {
  10. "Status": "exited",
  11. "Running": false,
  12. "Paused": false,
  13. "Restarting": false,
  14. "OOMKilled": false,
  15. "Dead": false,
  16. "Pid": 0,
  17. "ExitCode": 0,
  18. "Error": "",
  19. "StartedAt": "2021-02-05T04:01:41.846430128Z",
  20. "FinishedAt": "2021-02-05T04:01:51.405660547Z"
  21. },
  22. "Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
  23. "ResolvConfPath": "/var/lib/docker/containers/66fa2e853870af06f32c166c6c75280db4d728c31502ca63bc848dfc96d613a6/resolv.conf",
  24. "HostnamePath": "/var/lib/docker/containers/66fa2e853870af06f32c166c6c75280db4d728c31502ca63bc848dfc96d613a6/hostname",
  25. "HostsPath": "/var/lib/docker/containers/66fa2e853870af06f32c166c6c75280db4d728c31502ca63bc848dfc96d613a6/hosts",
  26. "LogPath": "/var/lib/docker/containers/66fa2e853870af06f32c166c6c75280db4d728c31502ca63bc848dfc96d613a6/66fa2e853870af06f32c166c6c75280db4d728c31502ca63bc848dfc96d613a6-json.log",
  27. "Name": "/a1",
  28. "RestartCount": 0,
  29. "Driver": "overlay2",
  30. "Platform": "linux",
  31. "MountLabel": "",
  32. "ProcessLabel": "",
  33. "AppArmorProfile": "",
  34. "ExecIDs": null,
  35. "HostConfig": {
  36. "Binds": null,
  37. "ContainerIDFile": "",
  38. "LogConfig": {
  39. "Type": "json-file",
  40. "Config": {}
  41. },
  42. "NetworkMode": "default",
  43. "PortBindings": {},
  44. "RestartPolicy": {
  45. "Name": "no",
  46. "MaximumRetryCount": 0
  47. },
  48. "AutoRemove": false,
  49. "VolumeDriver": "",
  50. "VolumesFrom": null,
  51. "CapAdd": null,
  52. "CapDrop": null,
  53. "Capabilities": null,
  54. "Dns": [],
  55. "DnsOptions": [],
  56. "DnsSearch": [],
  57. "ExtraHosts": null,
  58. "GroupAdd": null,
  59. "IpcMode": "private",
  60. "Cgroup": "",
  61. "Links": null,
  62. "OomScoreAdj": 0,
  63. "PidMode": "",
  64. "Privileged": false,
  65. "PublishAllPorts": false,
  66. "ReadonlyRootfs": false,
  67. "SecurityOpt": null,
  68. "UTSMode": "",
  69. "UsernsMode": "",
  70. "ShmSize": 67108864,
  71. "Runtime": "runc",
  72. "ConsoleSize": [
  73. 0,
  74. 0
  75. ],
  76. "Isolation": "",
  77. "CpuShares": 0,
  78. "Memory": 0,
  79. "NanoCpus": 0,
  80. "CgroupParent": "",
  81. "BlkioWeight": 0,
  82. "BlkioWeightDevice": [],
  83. "BlkioDeviceReadBps": null,
  84. "BlkioDeviceWriteBps": null,
  85. "BlkioDeviceReadIOps": null,
  86. "BlkioDeviceWriteIOps": null,
  87. "CpuPeriod": 0,
  88. "CpuQuota": 0,
  89. "CpuRealtimePeriod": 0,
  90. "CpuRealtimeRuntime": 0,
  91. "CpusetCpus": "",
  92. "CpusetMems": "",
  93. "Devices": [],
  94. "DeviceCgroupRules": null,
  95. "DeviceRequests": null,
  96. "KernelMemory": 0,
  97. "KernelMemoryTCP": 0,
  98. "MemoryReservation": 0,
  99. "MemorySwap": 0,
  100. "MemorySwappiness": null,
  101. "OomKillDisable": false,
  102. "PidsLimit": null,
  103. "Ulimits": null,
  104. "CpuCount": 0,
  105. "CpuPercent": 0,
  106. "IOMaximumIOps": 0,
  107. "IOMaximumBandwidth": 0,
  108. "MaskedPaths": [
  109. "/proc/asound",
  110. "/proc/acpi",
  111. "/proc/kcore",
  112. "/proc/keys",
  113. "/proc/latency_stats",
  114. "/proc/timer_list",
  115. "/proc/timer_stats",
  116. "/proc/sched_debug",
  117. "/proc/scsi",
  118. "/sys/firmware"
  119. ],
  120. "ReadonlyPaths": [
  121. "/proc/bus",
  122. "/proc/fs",
  123. "/proc/irq",
  124. "/proc/sys",
  125. "/proc/sysrq-trigger"
  126. ]
  127. },
  128. "GraphDriver": {
  129. "Data": {
  130. "LowerDir": "/var/lib/docker/overlay2/ecf96d9788e18375d3db3cb0f6f476bba8af71fc1101b44e4ec84962cbb3734e-init/diff:/var/lib/docker/overlay2/5ead7fb0234a638b1f4c8ece5572cd7e34d0e7b410face8bc0c83a670cd92736/diff",
  131. "MergedDir": "/var/lib/docker/overlay2/ecf96d9788e18375d3db3cb0f6f476bba8af71fc1101b44e4ec84962cbb3734e/merged",
  132. "UpperDir": "/var/lib/docker/overlay2/ecf96d9788e18375d3db3cb0f6f476bba8af71fc1101b44e4ec84962cbb3734e/diff",
  133. "WorkDir": "/var/lib/docker/overlay2/ecf96d9788e18375d3db3cb0f6f476bba8af71fc1101b44e4ec84962cbb3734e/work"
  134. },
  135. "Name": "overlay2"
  136. },
  137. "Mounts": [],
  138. "Config": {
  139. "Hostname": "66fa2e853870",
  140. "Domainname": "",
  141. "User": "",
  142. "AttachStdin": false,
  143. "AttachStdout": false,
  144. "AttachStderr": false,
  145. "Tty": true,
  146. "OpenStdin": true,
  147. "StdinOnce": false,
  148. "Env": [
  149. "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  150. ],
  151. "Cmd": [
  152. "sh"
  153. ],
  154. "Image": "centos",
  155. "Volumes": null,
  156. "WorkingDir": "",
  157. "Entrypoint": null,
  158. "OnBuild": null,
  159. "Labels": {
  160. "org.label-schema.build-date": "20201204",
  161. "org.label-schema.license": "GPLv2",
  162. "org.label-schema.name": "CentOS Base Image",
  163. "org.label-schema.schema-version": "1.0",
  164. "org.label-schema.vendor": "CentOS"
  165. }
  166. },
  167. "NetworkSettings": {
  168. "Bridge": "",
  169. "SandboxID": "836ea0ff6c93e7f368b31917f27dcf79d7f00e02f6821e13f750697f0c262eb5",
  170. "HairpinMode": false,
  171. "LinkLocalIPv6Address": "",
  172. "LinkLocalIPv6PrefixLen": 0,
  173. "Ports": {},
  174. "SandboxKey": "/var/run/docker/netns/836ea0ff6c93",
  175. "SecondaryIPAddresses": null,
  176. "SecondaryIPv6Addresses": null,
  177. "EndpointID": "",
  178. "Gateway": "",
  179. "GlobalIPv6Address": "",
  180. "GlobalIPv6PrefixLen": 0,
  181. "IPAddress": "",
  182. "IPPrefixLen": 0,
  183. "IPv6Gateway": "",
  184. "MacAddress": "",
  185. "Networks": {
  186. "bridge": {
  187. "IPAMConfig": null,
  188. "Links": null,
  189. "Aliases": null,
  190. "NetworkID": "2ca8ec3eb55c3034230866255d65f988376c95ddf492a9a074b4fd60b94eb594",
  191. "EndpointID": "",
  192. "Gateway": "",
  193. "IPAddress": "",
  194. "IPPrefixLen": 0,
  195. "IPv6Gateway": "",
  196. "GlobalIPv6Address": "",
  197. "GlobalIPv6PrefixLen": 0,
  198. "MacAddress": "",
  199. "DriverOpts": null
  200. }
  201. }
  202. }
  203. }
  204. ]

进入当前正在运行的容器

  1. 方式一:
  2. [root@lin ~]# docker exec -it a2 sh
  3. #解释:
  4. #-i: 交互式
  5. #-t: 伪终端
  6. sh-4.4# ls
  7. bin etc lib lost+found mnt proc run srv tmp var
  8. dev home lib64 media opt root sbin sys usr
  9. sh-4.4# ps -ef
  10. UID PID PPID C STIME TTY TIME CMD
  11. root 1 0 0 08:30 pts/0 00:00:00 sh
  12. root 6 0 0 08:39 pts/1 00:00:00 sh
  13. root 12 6 0 08:39 pts/1 00:00:00 ps -ef
  14. 方式二:
  15. [root@lin ~]# docker attach a2
  16. sh-4.4# ls
  17. bin etc lib lost+found mnt proc run srv tmp var
  18. dev home lib64 media opt root sbin sys usr
  19. #区别
  20. #docekr exec 进入容器开启新的终端
  21. #docker attach 相当于直接进入容器

从容器内拷贝文件到主机上

  1. docker cp 容器ID:容器内路径 目的的主机路径
  2. [root@lin /]# docker exec -it a3 sh
  3. sh-4.4# cd /home/
  4. sh-4.4# touch index.html
  5. sh-4.4# exit
  6. [root@lin /]# docker cp a3:/home/index.html /test
  7. [root@lin /]# ls /test/
  8. index.html

如果能看懂下面的图片,说明您的知识点很不错的呦~

 

 

 

 

 

 

原文链接:http://www.cnblogs.com/lin-strive/p/14394483.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号