1.删除所有的容器 docker container rm -f `docker ps -a -q`
2.宿主机新建目录 mkdir -p /opt/vol/mysql /opt/vol/html
3.启动容器 docker container run -it –name=”old_centos” -v /opt/vol/mysql:/var/lib/mysql -v /opt/vol/html:/var/www/html centos:7
4.优化yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl http://mirrors.aliyun.com/repo/Centos-7.repo -o /etc/yum.repos.d/CentOS-Base.repo
yum clean all && yum makecache
5.安装软件 yum install openssh-server httpd mysql mysql-server php php-mysql -y
6. 启动sshd
mkdir /var/run/sshd
echo ‘UseDNS no’ >> /etc/ssh/sshd_config
sed -i -e ‘/pam_loginuid.so/d’ /etc/pam.d/sshd
echo ‘root:123456’ | chpasswd
/usr/bin/ssh-keygen -A

补充:sshd镜像使用
docker commit 620dba4a45d2 centos_ssh
运行 docker run -d -p 2222:22 c7ssh /usr/sbin/sshd -D 

7./etc/init.d/mysqld start
8.启动脚本 cd /opt/vol/html && vim init.sh
#!/bin/bash
/etc/init.d/mysqld start
/etc/init.d/httpd start
/usr/bin/sshd -D

其他的启动脚本
vim /init.sh
service nginx start
service nginx restart
service php-fpm7 start
service php-fpm7 restart
tail -f /etc/hosts
#最后一步是吼住不动了

提交容器
docker commit

启动容器
docker container run -d –name=”old_centos—_1″ -v /opt/vol/mysql:/var/lib/mysql -v /opt/vol/html:/var/www/html -p 2222:22 -p 8888:80 -p 33060:3306 容器名 /var/www/html/init.sh


#!/bin/bash

#构建Elasticsearch启动脚本 start_es.sh。
#su:登录用户。
#elastic:部署Elasticsearch用户,避免root用户而无法启动。
#c:c参数后跟具体命令。
#d:Elasticsearch作为守护线程后台启动。
#p:指定线程ID文件,需要新建。

export ES_HOME=/opt/elasticsearch/
su es -c "sh ${ES_HOME}/bin/elasticsearch -d -p ${ES_HOME}/pid"

#!/bin/bash

#构建Elasticsearch停止脚本 stop_es.sh。
#su:登录用户。
#elastic:部署Elasticsearch用户,避免root用户而无法启动。
#c:c参数后跟具体命令。
#d:Elasticsearch作为守护线程后台启动。
#p:指定线程ID文件,需要新建。

export ES_HOME=/opt/elasticsearch/
kill `cat ${ES_HOME}/pid`

1.基于容器的镜像制作
1.1 启动基础镜像
docker run -it –name=”cetnos1″ centos:6.9
1.2 安装需要的软件包,并且启动测试
mv /etc/yum.repos.d/*.repo /tmp
echo -e “[ftp]\nname=ftp\nbaseurl=ftp://172.17.0.1/centos6.9\nqpgcheck=0″>/etc/yum.repos.d/ftp.repo
yum makecache fast && yum install openssh-server -y
/etc/init.d/sshd start —->重要:ssh第一次启动是,需要生成密钥,生成pam验证配置文件
/etc/init.d/sshd stop
1.3 制作镜像
docker commit centos1 myname/centos6.9_sshd:v1
1.4 启动下制作好的容器
docker container run -d –name=sshd_2222 -p 2222:22 centos1 /usr/sbin/sshd -D —->夯起来

1.查看日志 docker container logs 容器id (其他参数 -tf –tail 10 )
2.宿主机文件拷贝到容器中 docker container cp [index.html nginx:/usr/share/nginx/html/] 反过来可以拷贝到本地
3.卷映射 docker run -d –name=”n2″ -p 81:80 -v /opt/html:/usr/share/nginx/html nginx
4.模拟数据卷容器
I.宿主机创建目录
mkdir -p /opt/Volume/a
mkdir -p /opt/Volume/b
touch /opt/Volume/a/a.txt
touch /opt/Volume/b/b.txt
II.启动数据卷容器
docker run -it –name “nginx_volume” -v /opt/Volume/a:/opt/a -v /opt/Volume/b:/opt/b centos:7.6.1810 /bin/bash
III.使用数据卷容器
docker run -d -p 8085:80 –volumes-from nginx_volume –name “n80” nginx

/usr/bin/sshd -D 前台夯在那里了