手工制作docker镜像-多服务ssh+nginx
一个容器多个服务
基于centos6.9系统添加yum源与epel源
安装nginx、ssh服务
yum install nginx openssh-server -y
因镜像系统为纯系统,没有root密码,所以需要配置密码
echo 123456 | passwd --stdin root
注:因配置yum源存在坑,详见centos6源配置
将centos6.9容器提交为镜像文件
docker commit 662f4e76ae47 centos6.9-ssh-nginx:v1
方法一-命令启动服务:
根据已提交镜像文件“centos6.9-ssh-nginx:v1”创建启动容器,执行命令启动容器和启动服务
docker run -d -p 1022:22 -p 80:80 centos6.9-ssh-nginx:v1 su -s /bin/bash -c "/etc/init.d/sshd start;nginx -g 'daemon off;'" root
验证测试
连接ssh服务
测试访问web
方法二-脚本启动服务:
当前镜像文件里面没有可以执行的脚本,将服务直接运行并且夯筑容器。下面就是命令执行的创建的容器
进入容器中添加可执行的脚本,并且脚本内容为启动服务并且夯筑容器
在容器中直接创建脚本,添加nginx服务启动和sshd服务启动并且夯住即可;
提交成新的镜像文件为v2
docker commit 6497461e6ebd centos6.9-ssh-nginx:v2
基于镜像v2版本创建容器
docker run -d -p 1022:22 -p 80:80 centos6.9-ssh-nginx:v2 /bin/bash /init.sh
验证nginx服务访问正常
ssh服务连接正常