ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

容器镜像的制作

2020-02-22 13:03:46  阅读:302  来源: 互联网

标签:容器 bd42b38406e9 制作 nginx docker01 镜像 docker php root


手动制作docker镜像

制作一个基于centos6系统的nginx镜像(单服务)

1:启动一个纯净的centos:6.9容器,并安装nginx
[root@docker01 ~]# docker run -it centos:6.9
2:查看容器的yum源
[root@f9d00bc2114d /]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo  CentOS-fasttrack.repo
3.1:安装官方源中nginx
[root@f9d00bc2114d /]# vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[root@f9d00bc2114d /]# yum -y install nginx
[root@f9d00bc2114d /]# nginx -v
nginx version: nginx/1.16.1
3.2:安装epel源中nginx
[root@f9d00bc2114d /]# yum install -y epel-release
[root@f9d00bc2114d /]# yum -y install nginx
4:退出该容器,该容器死亡
curl+d
[root@f9d00bc2114d /]# exit
5:把安装好服务的容器,提交为镜像
[root@docker01 ~]# docker commit hungry_lichterman  centos6.9_nginx:v0
sha256:c8c52a2b776fd6aa3c9dcc3643a5895a51ee8e7f8dd247138326d0c6fc7542fe
6:查看镜像是否存在
[root@docker01 ~]# docker images
REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
centos6.9_nginx                                  v0                  c8c52a2b776f        55 seconds ago      331MB
7:删除创建时使用的容器
[root@docker01 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
f9d00bc2114d        centos:6.9          "/bin/bash"         13 minutes ago      Exited (0) 6 minutes ago                       hungry_lichterman
[root@docker01 ~]# docker rm f9d00bc2114d
f9d00bc2114d
8:测试镜像是否能使用
[root@docker01 ~]# docker run -d -p 80:80 centos6.9_nginx:v0 nginx -g 'daemon off;'
ab03b88a88a6e879cf13c5130ffc1eb8d49fc202755355de25a406405e1944dd
制作一个基于centos6系统的kod网盘的镜像(多服务)
1:基于以上制作的centos6.9_nginx:v0镜像的基础上,进行在加工安装php
[root@docker01 ~]# docker run -it -d -p 80:80 centos6.9_nginx:v0
bd42b38406e92653bb2dcc22e2436f79934613dc6c7dc5bff9d7589cca251d0d
[root@docker01 ~]# docker attach angry_tharp 
[root@bd42b38406e9 /]# yum install php-fpm php-gd php-mbstring -y
2:修改php运行用户,方便管理
[root@bd42b38406e9 /]# vi /etc/php-fpm.d/www.conf
底行模式/user =  回车
user = nginx
group = nginx
3:nginx运行一个网站
[root@bd42b38406e9 /]# cd /etc/nginx/conf.d/
[root@bd42b38406e9 /]# rm -rf /etc/nginx/conf.d/*
[root@bd42b38406e9 conf.d]# vi kod.com.conf
server {
        listen 80;
        server_name php.oldxu.com;
        root /kod;

location / {
        index index.php info.php;
}       

location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}       
}
4:创建站点目录
[root@bd42b38406e9 conf.d]# mkdir /kod
5:下载站点文件kod,因为镜像中无wget,unzip所以使用curl,并下载unzip
[root@bd42b38406e9 kod]# curl -o kodexplorer4.40.zip http://static.kodcloud.com/update/download/kodexplorer4.40.zip
[root@bd42b38406e9 kod]# ls
kodexplorer4.40.zip
[root@bd42b38406e9 kod]# yum install -y unzip
6:解压kod文件并授权给nginx用户
[root@bd42b38406e9 kod]# unzip kodexplorer4.40.zip
[root@bd42b38406e9 kod]# ls
app  ChangeLog.md  config  data  index.php  kodexplorer4.40.zip  plugins  README.MD  static
[root@bd42b38406e9 /]# chown -R nginx. /kod/
7:书写镜像初始启动nginx,php脚本
[root@bd42b38406e9 kod]# vi /init.sh
#!/bin/bash
​
service php-fpm start
nginx -g 'daemon off;'
8:把安装好服务的容器,提交为镜像
[root@docker01 ~]# docker commit angry_tharp nginx6.9_nginx:v1
sha256:5ff19d734d0c03e821aca4471b6b9fe4e15dd06df415dbabab4bb2209e7b10f7
9:查看镜像是否存在
[root@docker01 ~]# docker images
REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
centos6.9_nginx                                  v1                  77cc89bdd62c        31 seconds ago      483MB
10:删除创建时使用的容器
[root@docker01 ~]#  docker ps -a
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS                     PORTS               NAMES
bd42b38406e9        centos6.9_nginx:v0   "/bin/bash"         26 minutes ago      Exited (0) 8 minutes ago                       angry_tharp
[root@docker01 ~]# docker rm angry_tharp 
angry_tharp
11:测试镜像是否能使用
[root@docker01 ~]# docker run -d -p 80:80 centos6.9_nginx:v1 /bin/bash /init.sh
e14154cb2f1947190f014adc212a3ba910955f7cb25592a3fa7aa5889a0e1f0e
[root@docker01 ~]# docker run -d -p 81:80 centos6.9_nginx:v1 su -c " service php-fpm start ; nginx -g 'daemon off;' "
d4d204cc36f725cbce9502dd3fd55c5d0ccadf171773aba37c21920764f1c2a7
[root@docker01 ~]# docker ps -a
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                NAMES
d4d204cc36f7        centos6.9_nginx:v1   "su -c ' service php…"   6 seconds ago       Up 6 seconds        0.0.0.0:81->80/tcp   ecstatic_perlman
e14154cb2f19        centos6.9_nginx:v1   "/bin/bash /init.sh"     14 seconds ago      Up 14 seconds       0.0.0.0:80->80/tcp   upbeat_booth

想要生活就要努力活着 发布了22 篇原创文章 · 获赞 391 · 访问量 5万+ 私信 关注

标签:容器,bd42b38406e9,制作,nginx,docker01,镜像,docker,php,root
来源: https://blog.csdn.net/Dakshesh/article/details/104440029

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有