第四章 Docker容器使用总汇

创建容器

方式一:

可以使用docker create创建容器。

sudo docker create -it ubuntu:latest

使用docker create创建的容器默认处于停止状态,可以使用docker start来启动容器。

方式二:

使用docker run来创建并启动容器。等价于先执行docker create,再执行docker start。

当使用docker run时,后台的标准操作为:

  1. 检查本地是否存在指定的镜像,不存在就从公有仓库上下载。
  2. 利用镜像创建并启动一个容器。
  3. 分配一个系统文件,并在只读的镜像层外面挂载一层可读写层。
  4. 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去。
  5. 从地址池配置一个IP地址给容器。
  6. 自行用户指定的应用程序。
  7. 执行完毕后容器被终止。
sudo docker run -t -i ubuntu:14.04 /bin/bash

/bin/bash启动一个bash终端进行交互。用户可以使用exit命令或按住ctrl+d退出终端。使用exit命令退出后,容器自动处于终止状态。

-t选项让docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。

更多的时候需要使容器在后台以守护态方式运行。使用-d参数实现。

sudo docker run -d ubuntu /bin/bash

启动后会返回一个唯一的id,可以通过docker ps参看容器的信息:

sudo docker ps

要获取容器的输出信息,可以通过docker logs查看:

sudo docker logs a232

终止容器

可以使用docker stop终止运行中的容器。

sudo docker stop a432

如果使用docker kill会自己发送SOGKILL信号来强行终止容器。

可以使用docker ps -a -q来查看处于终止状态的容器的id信息。可以使用docker start来重新启动。

docker restart会先将一个容器终止,然后再重新启动它。

进入容器

attach指令是docker自带的命令:

sudo docker attach note

但是有时attach指令不方便,当多个窗口同时到一个容器中时,所有的窗口都会同步显示,当一个窗口阻塞时,所有窗口都无法执行。

exec工具可以直接到容器中运行指令。

tisudo docker exec -ti 342r3434da3 /bin/bash

nsenter工具

删除容器

可以使用docker rm删除容器,有以下参数可选择:

-f, --force=false强行终止并删除一个个运行中的容器。

-l, link=false删除容器的连接,但保留容器。

-v, --volumes=false删除容器挂载的数据卷。

sudo docker rm ce323432534

导入和导出容器

导出容器到指定文件

sudo docker export ce543425435 >test_for_run.tar

导入容器,成为镜像

cat test_for_run.tar | sudo docker import - test/ubuntu:v1.0

也可以使用docker load导入一个镜像文件,这两者的区别在于import的容器快照文件将丢失所有历史记录和元数据信息,而镜像存储文件将保存完整的记录,体积也更大。

 

参考文献:

杨保华、戴王剑、曹亚仑. Docker技术入门与实战[第三版]. 2014. 机械工业出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值