docker系列4:docker容器基本命令

传送门

前面介绍了docker的安装:docker系列1:docker安装

还有docker镜像加速器:docker系列2:阿里云镜像加速器

以及docker的基本操作: docker系列3:docker镜像基本命令

引子

从今年3月到现在,基本没有进行博客更新了,算下来大概是3个月左右。

在这期间主要是做了一件"不务正业"的事情,报名考了一下PMP,通俗点说就是参加了软件行业的项目经理考试认证,过了就给发一个证书!注意这里只是说的参加了,考过没有我也不知道,因为成绩要在8月份才出来。如果有机会,会把报考PMP相关的流程及资料通过专栏的形式分享出来(有的资料是培训班的,可能会侵权,就不一定放了)。

通过这几个月的刷题及学习,又深深的体验了一把中国人的考试热情。本以为类似这种带有专业性质的且收费偏高的认证考试应该没有多少人,结果到了考试那天才发现,锣鼓喧天人山人海!这是继"人人都是项目经理"之后,又变成了"人人都是产品经理"。

个人觉得还是有一定收获的,通过它系统性的了解了项目管理的理论知识体系,及一些常见项目管理案例。当然如果要靠一纸证书就能成为专业的项目经理,可能任重而道远,毕竟在中国的软件行业环境下,有一些正在从事项目管理的专业人员也并不十分专业!

docker的基本命令

容器基本命令

拉取镜像

在前面介绍过镜像拉取,理论上只要是仓库里面的有的,都可以直接拉取,甚至是一个操作系统,比如现在就试着拉取一个centos!

先搜索一下:

docker search centos

会输出查询结果,里面有一个centos镜像

 现在把它拉取下来:

docker pull centos

由于配置了镜像加速器,很快就下载完成了: 

那么这个镜像如何运行呢?

启动镜像

要创建并启动一个容器,可以用如下命令:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

这个命令的参数非常多,这里就不贴出来了,可以直接查看命令,官方对这个命令的解释:

Create and run a new container from an image:从镜像中创建并运行一个容器

假设要启动刚才的centos镜像,就可以用如下命令:

docker run --name test_centos -it centos /bin/bash

其中的

  • --name:表示给容器取一个名字 
  • -it:表示通过交互式方式进入容器
  • --detach , -d:后台方式运行容器,并打印容器ID
  • --hostname , -h:指定容器的主机名

执行之后,会执行并进入容器:

 这个时候,在ls一下,会发目录跟主机有点不同,这是因为这个时候通过-it命令已经进入到容器里面了:

 上面的-it表示的就是通过交互式方式进入容器。

而如果-d就表示后台方式运行容器:

docker run --name test_centos2 -d centos /bin/bash

 执行之后,会显示启动结果:

注意,这里启动的时候,指定的别名是test_centos2,而第一次-it启动的时候是别名test_centos,这是为什么呢?

因为一个镜像可以启动多个容器,但是容器是不能重名的,所以要通过加--name来区分!如果尝试用相同的容器名称来启动,会收到错误信息:

 而如要指定容器的主机名就用--h参数了,运行下面的命令

docker run -it --name test_centos4 -h test_centos centos /bin/bash

 会运行一个新容器,观察一下主机名称:

 更多的命令可以通过--help来查看了

退出容器

exit命令

用上面的docker run命令运行容器之后,直接输入exit就可以退出容器了。不过这种方式退出容器之后,容器就会停止。比如现在重新运行一个容器,执行exit命令:

 Ctrl+P+Q

如果要退出容器并且不停止容器运行,可以用Ctrl+P+Q命令

查看运行容器

要查看当前运行的容器

docker ps [OPTIONS]

Options

Name, shorthandDefaultDescription
--all , -aShow all containers (default shows just running)
--filter , -fFilter output based on conditions provided
--formatFormat output using a custom template: ‘table’: Print output in table format with column headers (default) ‘table TEMPLATE’: Print output in table format using the given Go template ‘json’: Print in JSON format ‘TEMPLATE’: Print output using the given Go template. Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates
--last , -n-1Show n last created containers (includes all states)
--latest , -lShow the latest created container (includes all states)
--no-truncDon’t truncate output
--quiet , -qOnly display container IDs
--size , -sDisplay total file sizes

就是用上面的docker ps命令:

而如果要查看所有运行过的容器,加上-a参数:

删除容器

要删除当前容器,可以用docker rm命令

docker rm [OPTIONS] CONTAINER [CONTAINER...]

Options

Name, shorthandDefaultDescription
--force , -fForce the removal of a running container (uses SIGKILL)
--link , -lRemove the specified link
--volumes , -vRemove anonymous volumes associated with the container

比如,docker ps -a查看所有的容器,选择对应的容器id,通过docker rm删除:

 注意上面的status这一列,如果Exited表示停止的容器,如果是正在运行的容器,docker rm是删除不了的,必须通过-f参数强制进行删除:

启动容器

如果要启动已停止的容器,可以通过命令docker start

docker start [OPTIONS] CONTAINER [CONTAINER...]

Options

Name, shorthandDefaultDescription
--attach , -aAttach STDOUT/STDERR and forward signals
--checkpointexperimental (daemon)
Restore from this checkpoint
--checkpoint-direxperimental (daemon)
Use a custom checkpoint storage directory
--detach-keysOverride the key sequence for detaching a container
--interactive , -iAttach container’s STDIN

 比如,docker ps --filter status=exited查看所有停止的容器(关于容器状态,可以查看命令:docker ps

然后,选择一个或多个CONTAINER ID进行启动:

停止容器

停止容器,可以用docker stop命令

docker stop [OPTIONS] CONTAINER [CONTAINER...]

Options

Name, shorthandDefaultDescription
--signal , -sSignal to send to the container
--time , -tSeconds to wait before killing the container

重启容器

重新启动容器,可以用docker restart命令

容器重命名

如果要对容器重新命名,可以用docker rename命令

文件复制 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值