容器鏡像的製作

手動製作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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章