Docker宝贝成长计划第七天(构建企业镜像centos+SSHD+LAMP+BBS的制作)

一、构建基于centos6的企业镜像

(一)、启动centos6基础镜像,并挂载数据卷

[root@docker ~]#mkdir /opt/vol/mysql /opt/vol/html #创建数据卷挂载目录

[root@docker ~]# docker run -it --name "c1_bbs" -v /opt/vol/mysql:/var/lib/mysql /opt/vol/html:/var/www/html centos:6 /bin/bash #启动一个centos容器并挂载数据卷目录。

(二)、优化yum源并安装软件。

mv /etc/yum.repos.d/*.repo /tmp

echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.110/pub/centos6\ngpgcheck=0">/etc/yum.repos.d/ftp.repo

yum makecache fast && yum install -y openssh-server htppd mysql mysql-server php php-mysql  #安装所需要的所有软件

(三)、软件的初始化

1、进行sshd的初始化操作。

/etc/init.d/sshd start ----->重要:ssh第一次启动时,需要生成秘钥,生成pam验证配置文件

/etc/init.d/sshd stop

echo “12345” | passwd root --stdin #设置ssh的登录密码

2、mysqld的初始化

(1)[root@localhost ~]# /etc/init.d/mysqld start #启动mysql

(2) mysql>grant all on *.* to root@'%' identified by '123' #授权用户

(3)mysql> grant all on *.*  to discuz@'%' identified by '123'

(4)create database discuz charset utf8 #创建discuz空数据库

3、初始化Apach

[root@localhost ~]# /etc/init.d/httpd start #初始化Apach

(四)、制作LAMP第一版基础镜像

[root@localhost ~]# docker commit f6d8a9537be5  qianlong/centos_lamp:v1

(五)、根据第一版镜像启动新容器

[root@docker ~]# docker run -it --name "c1_bbs" -v /opt/vol/mysql:/var/lib/mysql /opt/vol/html:/var/www/html -p 8080:80 qianlong/centos_lamp:v1

[root@localhost ~]# /etc/init.d/httpd start #初始化Apach

[root@localhost ~]# /etc/init.d/mysqld start #启动mysql

(六)、测试php功能

vi /var/www/html/index.php

<%

phpinfo()

%>

(七)、安装论坛

[root@localhost ~]#tar xf bbs.tar.gz #解压论坛程序

(八)、第二版镜像的制作

[root@localhost ~]# docker commit f6d8a9537be5 qianlong/centos_lamp_bbs_sshd:v1

(九)、创建启动脚本

[root@localhost ~]# vi init.sh

#!/bin/bash

/etc/init.d/mysqld start

/etc/init.d/httpd start

/usr/sbin/sshd -D

[root@localhost ~]# chmod +x init.sh

(十)、启动容器、映射端口、挂载数据卷、启动多服务

[root@localhost ~]#docker run -d --name=qianlong_yun -v -v /opt/vol/mysql:/var/lib/mysql /opt/vol/html:/var/www/html -p 8080:80 -p 2222:22 -p 33060:3306 qianlong/centos_lamp_bbs_sshd:v1 /var/www/html/init.sh

二、构建基于centos7的企业镜像

centos7 统一使用systemd管理,没有了init.d的管理模式,sshd没办法初始化管理秘钥对,因此centos7需要手动启动sshd服务如下:

mkdir /var/run/sshd

use 'UseDNS no'  >> /etc/ssh/ssh_config

sed -i -e '/pam_loginuid.so/d' /etc/pam.d/sshd

echo 'root:123456' | chpasswd

/usr/bin/ssh-keygen -A

以下步骤与centos6一样。

你可能感兴趣的:(Docker宝贝成长计划第七天(构建企业镜像centos+SSHD+LAMP+BBS的制作))