手记

从零开始docker

第二天创建属于自己的docker base镜像



一、使用脚本生成docker base镜像

yum install wget

wget https://raw.githubusercontent.com/docker/docker/master/contrib/mkimage-yum.sh

chmod a+x mkimage-yum.sh

./mkimage-yum.sh -y /etc/yum.conf centos7


二、使用制作的镜像启动一个docker实例

使用docker run命令以交互式启动一个docker实例

docker run -it centos7:7.5.1804 /bin/bash

这时我们会看到如下的提示符,这就证明我们已经进入到容器的bash下了。

[root@7776c4505e52 /]#

接下来我们来尝试在后台启动一个实例。

[root@docker01 ~]# docker run -d --name base centos7:7.5.1804 /bin/bash

我们可以看到返回了实例的一个长id

a674b2f151f6fe02bdd3b177dfba296a93b5104c8c2b0cb9a0eea377d66b5944

[root@docker01 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES

a674b2f151f6        centos7:7.5.1804    "/bin/bash"         3 seconds ago       Exited (0) 2 seconds ago                       base

但是很快这个实例就退出了。

通过实验我们可以知道如果启动容器执行的命令或程序没有一个输出或者结束,就会导致容器被退出。

为了验证这一点我们继续尝试。

[root@docker01 ~]# docker run -d --name base centos7:7.5.1804 tailf /var/log/messages

052905ee0e7fa2481cbddb83448ecba9be3b70506ffc5506969e33a52f3d6d4d

[root@docker01 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES

052905ee0e7f        centos7:7.5.1804    "tailf /var/log/mess…"   4 seconds ago       Up 3 seconds                            base

通过输出就证明了我们之前的猜测。当然还有很多其它的方式去实现,我们后续再说。



作者:安静的熊猫人
链接:https://www.jianshu.com/p/b94bbc3e2ac5


0人推荐
随时随地看视频
慕课网APP