千家信息网

6.docker手动制作镜像(基于C6)

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,1.制作一个基于centOS6版的Nginx镜像(单服务)11.启动并进入容器[root@docker03 ]# docker run -it -p 80:80 centos:6.9 /bin/ba
千家信息网最后更新 2024年09月22日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  Speed100  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  Speed100   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测试

1.6提交镜像

[root@docker03 ~]# docker commit 9dac33fe6bdasha256:b3b5ec6779bd43731aa3e1639811d1583a4404cb2296dab75a4f8c7e41d62b6a[root@docker03 ~]# docker commit 9dac33fe6bda docker_centos6.9_nginx:v1sha256:f954a629873f40f5b70676cc2618c4766b9ef161e4e46c38b89327b613662f4f[root@docker03 ~]# docker imagesREPOSITORY               TAG                 IMAGE ID            CREATED             SIZEdocker_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

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  Speed110   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  Speed100  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 

2.6启动PHP服务

[root@274ca61dd89f /]# service php-fpm startStarting 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]# lskodexplorer4.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 /htmltotal 13676drwxr-xr-x 10 nginx nginx      115 Mar 21  2019 app-rw-r--r--  1 nginx nginx    91248 Mar 21  2019 ChangeLog.mddrwxr-xr-x  3 nginx nginx       74 Mar 21  2019 configdrwxr-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.40drwxr-xr-x 15 nginx nginx      218 Mar 21  2019 plugins-rw-r--r--  1 nginx nginx     7718 Mar 21  2019 README.MDdrwxr-xr-x  6 nginx nginx       57 Mar 21  2019 static

2.11测试

2.12编写启动脚本(夯住起动命令在最后一个启动)

vi init.sh#!/bin/bashservice php-fpm startnginx -g 'daemon off;'~                     

2.13生成镜像

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

2.14测试镜像

[root@docker03 ~]# docker run  -d -p 81:80 docker_kod:v1 /bin/bash /init.shcd5d18b69f1438426da1283160c73cbe45c2d8f73e74f5adeec0211bf14b52b7


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.repo100  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  Speed100   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 busdbus       6819      1  0 Dec12 ?        00:00:03 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activationroot      43281  40267  0 11:09 pts/1    00:00:00 grep --color=auto bus[root@c919e69954a2 /]# systemctl start nginxFailed to get D-Bus connection: Operation not permitted

用手动启动服务

[root@c919e69954a2 /]# systemctl start nginxFailed 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 serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/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=1268621ExecStartPre=/usr/bin/rm -f /run/nginx.pidExecStartPre=/usr/sbin/nginx -tExecStart=/usr/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDKillSignal=SIGQUITTimeoutStopSec=5KillMode=processPrivateTmp=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 directoryGenerating SSH2 RSA host key: /usr/sbin/sshd-keygen: line 63: success: command not foundGenerating SSH2 ECDSA host key: /usr/sbin/sshd-keygen: line 105: success: command not foundGenerating 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/functionsinitscripts-9.49.46-1.el7.x86_64

3.8安装软件包

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

3.9在启动sshd-keygen服务,查看秘钥对

[root@c1e50af6f42c /]# /usr/sbin/sshd-keygenGenerating 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       

3.10启动sshd服务

[root@c919e69954a2 /]# systemctl cat sshd# /usr/lib/systemd/system/sshd.service[Unit]Description=OpenSSH server daemonDocumentation=man:sshd(8) man:sshd_config(5)After=network.target sshd-keygen.serviceWants=sshd-keygen.service[Service]Type=notifyEnvironmentFile=/etc/sysconfig/sshdExecStart=/usr/sbin/sshd -D $OPTIONSExecReload=/bin/kill -HUP $MAINPIDKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target[root@c919e69954a2 /]# /usr/sbin/sshd -D

3.11设置容器登录密码

echo '123456' | passwd  --stdin root

3.12连接测试

0