Docker 常用命令

您所在的位置:网站首页 容器id怎么看 Docker 常用命令

Docker 常用命令

#Docker 常用命令| 来源: 网络整理| 查看: 265

大佬教程收集整理的这篇文章主要介绍了Docker 常用命令——容器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。 1.新建并启动容器 docker run [option] images [command][arg]    #根据镜像新建容器并运行。如果本地没有镜像则从docker hub上拉取。 --name 为容器指定名称。 -d    后台运行容器,并返回容器id -i    交互模式运行容器,通常与 -t同时用 -t    为容器分配伪输入终端。 -P    随机端口映射 -p    指定端口映射,有以下四种格式     ip:hostport:ContainerPort     ip::containerPort     HostPort:ContainerPort     ContainerPort docker run centos       #创建/运行/退出容器 docker run -t centos    #创建容器,并进入伪终端,但不能操作。ctrl+c 退出,容器不退出。 docker run -it centos docker run -it --name mycentos centos docker run -d centos    #以后台进程方式创建容器并运行,但因为没有可交互的前台进程,所以又被立刻终止。故docker ps 看不到。 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE redis latest a55fbf438dfd 8 days ago 95MB MysqL latest 7bb2586065cd 8 days ago 477MB Nginx latest 2bcb04bdb83f 8 days ago 109MB centos latest 9f38484d220f 2 weeks ago 202MB Hello-world latest fce289e99eb9 3 months ago 1.84kB docker run -it 9f38484d220f #启动交互式容器 [root@8e0ffee781f1 /]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 02:23 pts/0 00:00:00 /bin/bash root 16 1 0 02:23 pts/0 00:00:00 ps -ef [root@8e0ffee781f1 /]# exit exit [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e0ffee781f1 9f38484d220f "/bin/bash" 4 minutes ago Exited (0) 3 minutes ago pensive_lumiere 3af63c5c69c6 Hello-world "/Hello" 42 hours ago Exited (0) 42 hours ago pensive_dubinsky [root@localhost ~]# docker rename 8e0ffee781f1 mycentos [root@localhost ~]# docker start mycentos mycentos [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e0ffee781f1 9f38484d220f "/bin/bash" 40 minutes ago Up 6 seconds mycentos [root@localhost ~]# docker stats mycentos CONTAINER ID NAME cpu % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 8e0ffee781f1 mycentos 0.00% 380KiB / 991.2MiB 0.04% 656B / 0B 0B / 0B 1 [root@localhost ~]# docker top mycentos UID PID PPID C STIME TTY TIME CMD root 4675 4659 0 10:44 pts/0 00:00:00 /bin/bash [root@localhost ~]# docker attach mycentos 不关容器,安全退出: ctrl +p ctrl+q [root@localhost ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e0ffee781f1 9f38484d220f "/bin/bash" 3 hours ago Up 2 hours mycentos [root@localhost ~]# docker images centos REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 9f38484d220f 2 weeks ago 202MB [root@localhost ~]# docker run -it --name mycentos01 centos #重新打开一个容器,并命名为mycentos01 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ed1315df6320 centos "/bin/bash" About a minute ago Up About a minute mycentos01 8e0ffee781f1 9f38484d220f "/bin/bash" 3 hours ago Up 2 hours mycentos 2.列出容器 docker ps -a    显示当前或曾经打开的容器 docker ps -l    显示上一次运行的容器 docker ps -n 3  显示上3次运行的容器 docker ps -ql   只显示上一次运行的容器ID 3.退出容器 exit    #退出并关闭容器 ctrl+p,crl+q #退出但不关闭容器 4.停止容器 docker stop  容器 ID或name docker stop -t n 容器 ID或name # Seconds to wait for stop before killing it (default 10) 杀掉容器前等待多少秒(默认10s) 直接关闭 docker kill 容器 ID或name [root@localhost ~]# docker stop mycentos mycentos01 #同时停止多个容器 mycentos mycentos01 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4.启动容器 docker start    容器 ID或name docker restart  容器 ID或name [root@localhost ~]# docker start mycentos mycentos01 mycentos mycentos01 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ed1315df6320 centos "/bin/bash" 9 minutes ago Up 36 seconds mycentos01 8e0ffee781f1 9f38484d220f "/bin/bash" 3 hours ago Up 36 seconds mycentos 5.重启容器 docker restart 容器 ID或name 6.删除停止运行的容器 docker rm 容器 ID或name docker rm -f 强制删除容器,即使在运行 docker rm -f $(docker ps -qa)      # 删除全部容器 docker ps -qa | xargs docker rm    # 删除全部已停止容器 [root@localhost ~]# docker ps -n2 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ed1315df6320 centos "/bin/bash" 23 minutes ago Exited (137) 7 minutes ago mycentos01 8e0ffee781f1 9f38484d220f "/bin/bash" 3 hours ago Exited (137) 8 minutes ago mycentos [root@localhost ~]# docker rm mycentos01 mycentos01 [root@localhost ~]# docker ps -n2 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e0ffee781f1 9f38484d220f "/bin/bash" 3 hours ago Exited (137) 9 minutes ago mycentos 3af63c5c69c6 Hello-world "/Hello" 45 hours ago Exited (0) 45 hours ago pensive_dubinsky 7.查看所有容器的实时资源占用情况 docker stats 8.查看容器日志 docker logs -f -t --tail 10 容器 ID或name -f 持续刷新最新日志 -t 显示时间戳 --tail 显示最后几行 [root@localhost ~]# docker run -d --name mycentos1 centos ba18b348bd9857bde9b25a62d848d6239c1c7c0de302a8bc279185a758efd861 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@localhost ~]# docker run -d --name mycentos2 centos /bin/bash -c "while true;do echo Hello World;sleep 3;done" 21494ef841e27c69877afaf1a0be5ae2bb7d32d6862eb7bfa1e6eb237f04efa3 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 21494ef841e2 centos "/bin/bash -c 'while…" 2 seconds ago Up 2 seconds mycentos2 [root@localhost ~]# docker logs -f -t --tail 5 21494ef841e2 2019-04-04T07:37:43.721260403Z Hello World 2019-04-04T07:37:46.721904929Z Hello World 2019-04-04T07:37:49.723204790Z Hello World 2019-04-04T07:37:52.724042843Z Hello World 2019-04-04T07:37:55.725116649Z Hello World ... 9.查看容器内进程 docker top 容器 ID或name [root@localhost ~]# docker run -d centos /bin/bash -c "while true;do echo Nihao;sleep 2 ;done" 4768a70886fcb74cdf00cb19d142fb503a18d2390406dc31ad533d697b423f46 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4768a70886fc centos "/bin/bash -c 'while…" 3 seconds ago Up 2 seconds affectionate_cori [root@localhost ~]# docker top 4768a70886fc UID PID PPID C STIME TTY TIME CMD root 9379 9364 0 15:48 ? 00:00:00 /bin/bash -c while true;do echo Nihao;sleep 2 ;done root 9427 9379 0 15:48 ? 00:00:00 sleep 2 10.查看容器细节 docker inspect 容器 ID或name [root@localhost ~]# docker inspect 4768a70886fc [ { "Id": "4768a70886fcb74cdf00cb19d142fb503a18d2390406dc31ad533d697b423f46", "Created": "2019-04-04T07:48:20.460764642Z", "Path": "/bin/bash", "Args": [ "-c", "while true;do echo Nihao;sleep 2 ;done" ], "State": { "Status": "running", "Running": true, "Paused": false, "RestarTing": false, .... 11.进入容器 docker attach 容器 ID或name docker exec -t -w -u -e 容器 ID或name 命令              # 功能更强大,也能实现登陆容器内部   -d, --detach Detached mode: run command in the BACkground   -e, --env list Set environment variables   -i, --interactive Keep STDIN open even if not attached   -t, --tty Allocate a pseudo-TTY   -u, --user String Username or UID (format: [:])   -w, --workdir String Working directory inside the container [root@localhost ~]# docker exec -t -w /tmp -uroot -e LANG=en 4768a70886fc ls ks-script-eC059Y yum.log [root@localhost ~]# docker exec 4768a70886fc ls /tmp ks-script-eC059Y yum.log [root@localhost ~]# docker exec -it 4768a70886fc ls /tmp ks-script-eC059Y yum.log [root@localhost ~]# docker exec -it 4768a70886fc /bin/bash [root@4768a70886fc /]# ls anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var 12. docker cp     copy files/folders between a container and the local filesystem 在本地系统和容器间copy文件或文件夹 [root@localhost ~]# docker cp anaconda-ks.cfg 4768a70886fc:/home [root@localhost ~]# docker exec 4768a70886fc ls /home anaconda-ks.cfg [root@localhost ~]# docker exec -it 4768a70886fc ls /tmp ks-script-eC059Y yum.log [root@localhost ~]# docker cp 4768a70886fc:/tmp/yum.log /tmp [root@localhost ~]# ls -l /tmp 总用量 8 -rw-------. 1 root root 0 3月 6 01:34 yum.log docker run -d /bin/bash -c 的注意点 重启docker 后,会继续执行创建docker 时指定的脚本。 相当于该容器运行的是 镜像+sHell 的组合模板。 docker attach 登陆容器后,如果command 命令是前台进程就会一直执行,而不能做其他操作。

Docker 常用命令——容器

 

大佬总结

以上是大佬教程为你收集整理的Docker 常用命令——容器全部内容,希望文章能够帮你解决Docker 常用命令——容器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3