1.手动制作docker镜像
1)启动一个基础容器
docker run -it centos:6.9 yum
2)在容器中安装服务
curl -o /etc/yum.repos.d/CentOS-Base.repo
http://mirriors.aliyun.com/repo/Centos-6.repo
yum install openssh-server -y
service sshd restart
echo '123456'|passwd --stdin root
3)把已经安装好服务的容器,提交为镜像
docker container commit 5617e5d6284b centos6.9_ssh:v1
4)测试镜像的功能:
docker run -d -p 1022:22 centos6.9_ssh:v1 /usr/sbin/sshd -D
2. 手动制作一个支持SSh+nginx的镜像
1)启动一个基础容器
docker run -it -p 80:80 -p 1023:22 centos6.9_ssh:v1 /bin/bash
2)在容器中安装服务
echo '192.168.15.84 mirrors.aliyun.com ' >>/etc/hosts (生产中可省)
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum install nginx -y
3)把已经安装好服务的容器,提交为镜像
docker commit ea6a76ced04b centos6.9_ssh_nginx:v1
添加了一个vi /init.sh
#!/bin/bash
service sshd restart
nginx -g 'daemon off;'
docker commit ea6a76ced04b centos6.9_ssh_nginx:v2
4)测试镜像的功能:
docker run -d -p 1025:22 -p 82:80 centos6.9_ssh_nginx:v2 /bin/bash /init.sh
docker ps -a -l #查看最新执行的
补充:
5)自定义容器镜像的密码:
docker exec -it e267816e4187e /bin/bash
vi /init.sh
#!/bin/bash
echo "SSH_PWD" |passwd --stdin root
service sshd restart
nginx -g 'daemon off;'
read escape sequence #重新提交镜像
docker commit e267816e4187e centos6.9_ssh_nginx:v3
docker run -d -p 1026:22 -p 86:80 -e "SSH_PWD=1qwe@ASD" centos6.9_ssh_nginx:v3
/bin/bash /init.sh
======================================================================
网友评论