48小时系统班试听入口

【运维实战技术】Docker Container常用命令

发布作者:新盟教育 发布日期:2022-09-06 浏览人数:5097人

运维实战技术



docker run —— 交互式容器


docker run是最常用也是最复杂的命令,通过docker help run可以看到该命令有很多选项。


其中最常用的的选项包括:

  • -i -t 这两个选项经常一起使用,可以缩写为-it,用于创建交互式容器。

  • -d 让容器运行在后台,用于创建守护式容器。

  • --name 为容器指定一个名称。


容器运行成功后,会返回一个64字符的容器ID,作为容器的唯一标识。

通过如下命令运行一个交互式容器:

sudo docker run -it centos:6 /bin/bash


  • -it 指定要创建交互式容器。

  • centos:6 以仓库:TAG的形式指定镜像名称。

  • /bin/bash 容器对应的进程,会启动一个新的shell。


Note

刚开始如果没有使用docker pull将镜像拉下来的话,执行上述命令会提示没有找到镜像,会首先将镜像pull下来,这就会遇到一个国内Docker源下载非常慢的问题,推荐的解决办法是使用DaoCloud,会大大加快下载镜像的速度。

使用官方源:


使用DaoCloud源:


通过命令sudo docker run -it centos:6 /bin/bash,会启动一个新的shell,并运行在容器环境中。由于是一个交互式容器,所以当离开当前的shell,被这个新的shell带入到容器的虚拟世界中,此后会在这个shell里面执行的任何命令,都是相对于这个虚拟世界的。

当在新的shell里面执行exit,就结束了这个bash进程,从而也结束了这个容器,这样就从虚拟世界又返回到宿主机的现实世界。


docker run —— 守护式容器


交互式容器适合一些临时性的任务,当退出bash的时候,交互式容器的生命也将结束。大多数场合,需要的是守护式容器。通过如下方式运行守护式容器:

sudo docker run -d daocloud.io/daocloud/dao-redis:master-init
  • -d 创建守护式容器。

  • 没有指定命令,那么就会使用镜像所提供的默认命令。redis镜像的默认命令是/run.sh。


Note:

守护式容器运行在后台,这样就可以继续留在当前的shell进行其他操作 。

docker ps:

通过docker ps命令可以查看容器的基本信息,包括容器ID、命令、状态等。

sudo docker ps:


docker inspect:

docker ps命令只能查看容器的基本信息;docker inspect命令则可以查看容器的详细信息。

sudo docker inspect [容器ID]:



Note:

docker inspect返回的信息是JSON格式的 。

docker inspect -f:

可以指定查看某种信息,例如查看容器的IP:

sudo docker inspect -f '{{.NetworkSettings.IPAddress}}' [容器ID]



docker stop:

docker stop命令用来停止一个正在运行的守护式容器(如果想快速停止可以使用docker kill)。

sudo docker stop [容器ID]


docker rm:

容器停止后,不会被删除,docker rm命令用来删除容器。

sudo docker rm [容器ID]


Note:

删除完之后,再次运行sudo docker ps -a,容器已经消失了。



docker logs


使用docker logs查看容器日志:

sudo docker logs [-f] [-t] [--tail] [容器ID]
  • -f--follows=true | false 默认为false。

  • -t--timestamps=true | false 默认为false。

  • -tail="all" 。



docker top:

使用docker top查看守护式容器内进程。

sudo docker top [容器ID]



docker exec:

使用docker exec在运行的守护式容器内启动新进程。

sudo docker exec [-d] [-i] [-t] [容器ID] [COMMAND][ARG...]


注意:启动交互式容器后,可以使用Ctrl + P和Ctrl + Q组合将交互式容器转为守护式容器,之后可以使用docker attach命令将守护式容器转为交互式容器。











推荐阅读

>>>新手必备-Linux入门之云计算是什么

>>>红帽认证入门-Linux系统介绍及企业版本选型

>>>新手必备-Linux系统安装配置+Xshell远程连接

>>>Linux常用命令行合集之绝对路径和相对路径

>>>软连接与硬连接



运维界升职加薪必备的云计算技术,你学了吗?

学完高级运维云计算课程之后,你可以:

  • 跨越90%企业的招聘硬门槛

  • 增加70%就业机会

  • 拿下BAT全国TOP100大厂敲门砖

  • 体系化得到运维技术硬实力

  • 技术大佬年薪可达30w+