docker学习笔记(三)——容器的常用操作

上篇文章介绍了镜像的常用操作,本篇讲解容器的常用操作,docker的容器非常轻量级,我们可以随时创建或者删除容器。

1.创建容器

新建容器:

docker create

Example:

docker create -ti ubuntu

说明:使用docker create命令创建的容器处于停止状态,可以使用docker start命令启动它。
新建并启动容器:

docker run

Example:

docker run ubuntu /bin/echo “Hello World”

说明: 等价于先执行docker create命令,再执行docker start命令。
这里写图片描述

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

对于第5条,我们可以ifconfig看一下,会发现此时多出一个docker0的网卡,新启动容器的ip就是通过这张网卡分配的。
这里写图片描述

一条简单的命令:

docker run -i -t ubuntu /bin/bash

-t : 让docker分配一个伪终端并绑定到容器的标准输入上。
-i : 让容器的标准输入保持打开。
在交互模式下,用户可以通过所创建的终端来输入命令,exit命令退出容器。
退出后,容器自动处于终止状态。

也就是说,我们通过以上的命令进入容器后,如果我们输入exit退出容器,那么此时容器也会被终止。
这里写图片描述

守护台运行:
更多的时候,需要让Docker容器运行在后台以守护态(daemonized)形式运行。用户可以通过
添加-d参数来实现。
Example:

docker run –d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"

补充:
查看日志:

docker logs <container_id>

2.终止容器

可以使用docker stop命令来终止一个运行中的容器。

docker stop <container_id>

注意:
当容器中的应用终结时,容器也会自动停止。
查看终止的容器:

docker ps -a

查看运行的容器:

docker ps

重新启动容器:

docker restart <container_id>

3.进入容器

在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息。

docker exec <options> <container_id> <command>

Exec可以直接在容器内部运行命令。
进入容器:

docker exec -i -t <container_id> bash

4.删除容器
可以使用

docker rm

命令删除终止状态的容器。
如果删除正在运行的容器,可以使用

docker rm -f

命令。

5.导入和导出容器
导出容器是指导出一个已经创建的容器到一个文件,不管容器是否处于运行状态。可以使用docker export命令。

docker export <container_id>

Example:

docker export test_export > test.tar

导出的文件又可以使用docker import命令导入,成为镜像。
Example:

cat test.tar | docker import – linsuren/testimport:latest

我们启动一个ubuntu容器并创建一个export.txt文件,里面写入hello world,再将这个容器导出成文件,然后再将文件导入成镜像并启动,查看export.txt是否还在。
这里写图片描述
可以看到已经成功导出成文件了。

接着我们将该文件导入成镜像
这里写图片描述
启动容器,可以看到export.txt文件还在。

关于容器的常用操作基本就是这样啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值