本文作者:念宗

docker自定义镜像之手动操作方式

念宗 6年前 ( 2019-01-03 ) 4710 抢沙发
摘要: 直接说大致的步骤吧:下载一个自己要的基础镜像,比如centos7.4以此镜像创建容器进入,安装自己要运行的服务软件以此容器为基础创建镜像提交# 我下载了一个centos&...

直接说大致的步骤吧:

  1. 下载一个自己要的基础镜像,比如centos7.4

  2. 以此镜像创建容器进入,安装自己要运行的服务软件

  3. 以此容器为基础创建镜像提交


# 我下载了一个centos 6.8的镜像作为我制作的基础镜像:
[root@node2 ~]# docker run --name mynginx -it centos:6.8
[root@04b9fe841ed2 /]# ping www.baidu.com
bash: ping: command not found
# 默认下载的系统很多工具都没有,连最基本的网络工具ping都没有
# 想要重新定制这个原始的镜像变成自己的镜像,就必须把自己需要的一些常用工具和应用给它安装上去,否则这种镜像没有任何生产意义。根据自己需要安装工具
[root@04b9fe841ed2 /]# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
Retrieving https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
warning: /var/tmp/rpm-tmp.lOAtuW: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

[root@04b9fe841ed2 /]# yum install -y iputils wget vim sysstat rsync bc ntpdate net-tools traceroute openssh-clients openssh-server

然后开始安装应用:以NGINX为例:

[root@04b9fe841ed2 /]# yum install -y nginx
[root@04b9fe841ed2 /]# vim /etc/nginx/nginx.conf
配置文件中增加一条指令:daemon off;
[root@04b9fe841ed2 /]# exit
exit
[root@node2 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
04b9fe841ed2        centos:6.8          "/bin/bash -P"      38 minutes ago      Exited (0) 3 seconds ago                       mynginx

生成镜像:

[root@node2 ~]# docker commit -m 'add sshd nginx' 95257477588d mynginx:v02
sha256:a45da86fc8e37045a6c8bb3c6c4f3df1d23f09ead3cba4e95ec6b3d27b34947c

下面创建容器运行验证一下:

[root@node2 ~]# docker run -d -p 8080:80 --name mynginxv2 mynginx:v02 nginx
a5b9370efa6116cf068777ef3c2be36a9b49ff2ea5c4e92c5d34d8456b36a5b7
[root@node2 ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
a5b9370efa61        mynginx:v02         "nginx"             2 seconds ago       Up 2 seconds        0.0.0.0:8080->80/tcp   mynginxv2
[root@node2 ~]# curl -I http://192.168.10.97:8080
HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Sun, 23 Dec 2018 17:30:24 GMT
Content-Type: text/html
Content-Length: 3698
Last-Modified: Mon, 31 Oct 2016 12:37:31 GMT
Connection: keep-alive
ETag: "58173b0b-e72"
Accept-Ranges: bytes

至此,自定义镜像完成

文章版权及转载声明:

作者:念宗本文地址:http://pyops.net/?id=48发布于 6年前 ( 2019-01-03 )
文章转载或复制请以超链接形式并注明出处运维之道

分享到: 网站分享代码

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

验证码

评论列表 (暂无评论,4710人围观)参与讨论

还没有评论,来说两句吧...