天天看點

6.docker手動制作鏡像(基于C6)

1.制作一個基于centOS6版的Nginx鏡像(單服務)

11.啟動并進入容器

[root@docker03 ]#  docker run -it -p 80:80 centos:6.9 /bin/bash
[root@9dac33fe6bda /]#             

1.2更改容器系統的yum源和epel源

[root@9dac33fe6bda /]# 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  17512      0 --:--:-- --:--:-- --:--:-- 17643
[root@9dac33fe6bda /]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   664  100   664    0     0   3179      0 --:--:-- --:--:-- --:--:--  3177           

1.3安裝Nginx服務

[root@9dac33fe6bda /]# yum install -y nginx

1.4啟動nginx

[root@9dac33fe6bda /]# nginx           

1.5測試

6.docker手動制作鏡像(基于C6)

1.6送出鏡像

[root@docker03 ~]# docker commit 9dac33fe6bda
sha256:b3b5ec6779bd43731aa3e1639811d1583a4404cb2296dab75a4f8c7e41d62b6a
[root@docker03 ~]# docker commit 9dac33fe6bda docker_centos6.9_nginx:v1
sha256:f954a629873f40f5b70676cc2618c4766b9ef161e4e46c38b89327b613662f4f
[root@docker03 ~]# docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
docker_centos6.9_nginx   v1                  f954a629873f        7 seconds ago       446MB           

1.7測試鏡像功能

[root@docker03 /opt]# docker run -d -p 80:80  -v /opt:/usr/share/nginx/html  docker_centos6.9_nginx:v1 nginx -g 'daemon off;  '
085ea855e734a0aa4aacb739b6de788f03e9d288bf16719fd1ad2e94de5896d0           
6.docker手動制作鏡像(基于C6)

2.制作一個基于centOS版的可道雲鏡像(多服務)

2.1啟動并進入容器

[root@docker03 /opt]# docker run  -it  -p 80:80  centos:6.9 /bin/bash
[root@274ca61dd89f /]#            

2.2更改容器系統的yum源和epel源

[root@274ca61dd89f /]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
110   664  110   664    0     0   4205      0 --:--:-- --:--:-- --:--:--  7545
[root@274ca61dd89f /]# 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  25788      0 --:--:-- --:--:-- --:--:-- 61536           

2.3安裝nginx

[root@274ca61dd89f /]# yum install nginx -y           

2.4安裝PHP服務

[root@274ca61dd89f /]# yum install php-fpm php-gd php-mbstring -y           

2.5更改PHP配置檔案使用者和使用者組

[root@274ca61dd89f /]# vi /etc/php-fpm.d/www.conf            
6.docker手動制作鏡像(基于C6)

2.6啟動PHP服務

[root@274ca61dd89f /]# service php-fpm start
Starting php-fpm:                                          [  OK  ]           

2.7更改nginx的配置檔案

添加到vi /etc/nginx/conf.d/default.conf 

#
# The default server
#

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /html;
    index  index.php  index.html index.htm;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

location ~ \.php$ {
    root           /html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /html$fastcgi_script_name;
    include        fastcgi_params;
}           

2.8建立html目錄并下載下傳可道雲

[root@274ca61dd89f /]# mkdir /html
[root@274ca61dd89f html]# cd /html
[root@274ca61dd89f html]# curl -o kodexplorer4.40 http://static.kodcloud.com/update/download/kodexplorer4.40.zip
[root@274ca61dd89f html]# ls
kodexplorer4.40           

2.9解壓可道雲

[root@274ca61dd89f /]# install unzip -y
[root@274ca61dd89f /]# unzip kodexplorer4.40            

2.10更改目錄的屬主屬組

[root@274ca61dd89f html]# chown -R nginx.nginx .
[root@274ca61dd89f html]# ll /html
total 13676
drwxr-xr-x 10 nginx nginx      115 Mar 21  2019 app
-rw-r--r--  1 nginx nginx    91248 Mar 21  2019 ChangeLog.md
drwxr-xr-x  3 nginx nginx       74 Mar 21  2019 config
drwxr-xr-x  7 nginx nginx       72 Mar 21  2019 data
-rw-r--r--  1 nginx nginx      118 Mar 21  2019 index.php
-rw-r--r--  1 nginx nginx 13894810 Dec 13 02:38 kodexplorer4.40
drwxr-xr-x 15 nginx nginx      218 Mar 21  2019 plugins
-rw-r--r--  1 nginx nginx     7718 Mar 21  2019 README.MD
drwxr-xr-x  6 nginx nginx       57 Mar 21  2019 static           

2.11測試

6.docker手動制作鏡像(基于C6)

2.12編寫啟動腳本(夯住起動指令在最後一個啟動)

vi init.sh
#!/bin/bash
service php-fpm start
nginx -g 'daemon off;'
~                                

2.13生成鏡像

[root@docker03 /etc/nginx]# docker commit 274ca61dd89f docker_kod:v1
sha256:da72ea94c8cbf9f2c21b7655b4146b0308053c3988fc2b6d165a1f6dd4cbc8de           

2.14測試鏡像

[root@docker03 ~]# docker run  -d -p 81:80 docker_kod:v1 /bin/bash /init.sh
cd5d18b69f1438426da1283160c73cbe45c2d8f73e74f5adeec0211bf14b52b7           
6.docker手動制作鏡像(基于C6)

3.docker手動制作鏡像(基于C7)(Nginx+ssh)

3.1.建立并進入容器

[root@docker03 ~]# docker run -it -p 83:80 centos:7
[root@c919e69954a2 /]#            

3.2.更改容器系統的yum源和epel源

[root@c919e69954a2 /]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
100  2523  100  2523    0     0  17831      0 --:--:-- --:--:-- --:--:-- 17893
[root@c919e69954a2 /]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   664  100   664    0     0   5044      0 --:--:-- --:--:-- --:--:--  5068           

3.3.安裝nginx

[root@c919e69954a2 /]# yum install nginx -y           

3.4.啟動服務

注:C7在容器中無法使用systemctl啟動服務,因為bus程序沒有啟動,C7啟動快是因為多個程序同時啟動。

root@docker03 ~]# ps -ef |grep bus
dbus       6819      1  0 Dec12 ?        00:00:03 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root      43281  40267  0 11:09 pts/1    00:00:00 grep --color=auto bus

[root@c919e69954a2 /]# systemctl start nginx
Failed to get D-Bus connection: Operation not permitted           

用手動啟動服務

[root@c919e69954a2 /]# systemctl start nginx
Failed to get D-Bus connection: Operation not permitted
[root@c919e69954a2 /]# systemctl cat nginx
# /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target

/usr/sbin/nginx           

3.5.安裝ssh服務

[root@c919e69954a2 /]# yum install openssh-server -y           

3.6啟動sshd-keygen服務(因為沒有密鑰對,報錯)

[root@c919e69954a2 /]# /usr/sbin/sshd-keygen

/usr/sbin/sshd-keygen: line 10: /etc/rc.d/init.d/functions: No such file or directory

Generating SSH2 RSA host key: /usr/sbin/sshd-keygen: line 63: success: command not found

Generating SSH2 ECDSA host key: /usr/sbin/sshd-keygen: line 105: success: command not found

Generating SSH2 ED25519 host key: /usr/sbin/sshd-keygen: line 126: success: command not found           

3.7在主控端查詢檔案對應的軟體包

[root@docker01 ~]# rpm -qf /etc/rc.d/init.d/functions
initscripts-9.49.46-1.el7.x86_64           

3.8安裝軟體包

[root@c919e69954a2 /]# yum install initscripts  -y           

3.9在啟動sshd-keygen服務,檢視秘鑰對

[root@c1e50af6f42c /]# /usr/sbin/sshd-keygen
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH2 ECDSA host key:                            [  OK  ]
Generating SSH2 ED25519 host key:                          [  OK  ]
[root@c919e69954a2 /]# ls /etc/ssh/
moduli                    ssh_host_ecdsa_key.pub    ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub      
ssh_host_ecdsa_key        ssh_host_ed25519_key      ssh_host_rsa_key          sshd_config                  
[root@c919e69954a2 /]# systemctl cat sshd
# /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
[root@c919e69954a2 /]# /usr/sbin/sshd -D           
echo '123456' | passwd  --stdin root           
上一篇: 系統制作
下一篇: json 格式