七、手动制作docker镜像

系列导航

一、docker入门(概念)

二、docker的安装和镜像管理

三、docker容器的常用命令

四、容器的网络访问

五、容器端口转发

六、docker数据卷

七、手动制作docker镜像

八、docker-file自动构建docker镜像

九、dockerfile指令讲解

十、docker镜像的分层

十一、docker的容器互联

十二、docker仓库

十三、docker的四种网络类型

十四、跨宿主机容器之间的通信

十五、跨主机通信overlay网络

十六、企业级私有仓库harbor

十七、其他

第一步:启动一个基础的容器

第二步:把安装好的容器提交成镜像

第三步:验证容器是否好用

(1)安装单个服务

[root@node03 opt]# docker run -it -p 1022:22 centos:6.9

 

下载yum源

[root@cd9754a81e57 /]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  2523  100  2523    0     0   8078      0 --:--:-- --:--:-- --:--:--  8354

 

安装ssh服务

[root@cd9754a81e57 opt]# yum install openssh-server -y

 

启动ssh服务

注:ssh服务第一次安装需要启动一下,启动后会自动生成秘钥对,才能正常使用。

[root@cd9754a81e57 opt]# service sshd start

Generating SSH2 RSA host key:                              [  OK  ]

Generating SSH1 RSA host key:                              [  OK  ]

Generating SSH2 DSA host key:                              [  OK  ]

Starting sshd:                                             [  OK  ]

 

设置容器centos的root密码

[root@cd9754a81e57 opt]# passwd

Changing password for user root.

 

 

把安装好ssh服务的容器提交为镜像

[root@node03 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

cd9754a81e57        centos:6.9          "/bin/bash"         28 minutes ago      Up 28 minutes                           sweet_poincare

[root@node03 ~]# docker commit cd9754a81e57 centos6.9_ssh_yc:v1

 

docker commit eb9819674b93  oracle-12c-tour:v1

sha256:7540332c4c1728f4f24e9999641965cfa937e2c65ae77f2736b2a111ca2d21c1

[root@node03 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

centos6.9_ssh_yc    v1                  7540332c4c17        7 seconds ago       332MB

 

启动镜像验证服务可用性

[root@node03 ~]# docker run -d -p 1022:22 centos6.9_ssh_yc:v1 /usr/sbin/sshd -D

63e897aa174b15e651cf28376ecab8cd2bf3f97afe2a29bbbe8f54f9b14663e0

 

使用ssh连接工具可以正常连接说明镜像制作成功

 

(2)安装多个服务

如果需要启动多个服务需要写脚本hung住服务程序

例如ssh服务和nginx同时提供服务

<1>在容器里写脚本

 

 

 

 

多个启动脚本时最后一个脚本hung住就可以。

<2>提交成镜像

 

 

<3>启动容器

注:因为没有给脚本增加权限所有必须加 /bin/bash

 

posted @ 2021-09-24 18:17  万笑佛  阅读(141)  评论(0编辑  收藏  举报