手动制作docker镜像--cnetos:6.9
# 制作镜像
0 docker run -it centos:6.9
# yum wget
1 yum install wget
# 配置阿里源
2 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
# 2/3选一个就好
3 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
# 查看源
4 cat /etc/yum.repos.d/CentOS-Base.repo
# 安装ssh服务
5 yum install openssh-server -y
# 启动ssh 服务
6 /etc/init.d/sshd start
# 查看ssh 端口
7 netstat -lntup
8 ls /etc/ssh/
# 容器ip
9 ip addr
172.18.0.2
# ssh链接设置密码
10 echo 123456|passwd --stdin root
# ssh链接
11 [root@david ~]# ssh root@172.18.0.2
root@172.18.0.2's password: 123456
# 暂时离开容器,不退出
12 crtl + p , crtl +q
# 查看容器
13 docker ps -a -l
# 进入容器
14 docker container attach 9ba9688107e5
# 退出容器
15 exit
# 提交镜像
16 docker container commit 9ba9688107e5 centos6.9_ssh:v1
# 测试镜像
17 docker run -d -p 1000:22 centos6.9_ssh:v1 /usr/sbin/sshd -D
# 本地测试
18 [D:~]$ ssh root@59.110.223.120:1000
passwd 123456
链接成功
多镜像制作
# 清除容器,清除端口
1. docker rm `docker ps -a -q` -f
#镜像启动多服务:ssh和nginx
2. docker run -it -p 1000:22 -p 88:80 centos6.9_ssh:v1 /bin/bash
# 配置阿里源
3. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
# 安装nginx
4. yum install nginx -y
# 离开镜像
5. exit
# 提交镜像
6. docker container commit 9ba9688107e5 centos6.9_ssh_nginx:v2
# 清除容器,清除端口
7. docker rm `docker ps -a -q` -f
# 测试镜像
8. docker run -d -p 1000:22 -p 88:80 centos6.9_ssh_nginx:v2 su -s /bin/bash -c "/etc/init.d/sshd start;nginx -g 'daemon off;'" root
# 本地测试
9 [D:~]$ ssh root@59.110.223.120:1000
passwd 123456
链接成功
59.110.223.120:88 》》》成功访问nginx
另一种测试方式:shell脚本---推荐使用
1. 进入容器
docker exec -it 9ba9688107e5 /bin/bash
2. shell 编写
mkdir sh
vi /sh/ssh_nginx.sh
#!/bin/bash
/etc/init.d/nginx start
/usr/sbin/sshd -D
3. exit
4. docker container commit 9ba9688107e5 centos6.9_ssh_nginx:v3
5. docker run -d -p 1000:22 -p 88:80 centos6.9_ssh_nginx:v2 /bin/bash /sh/ssh_nginx.sh
6. 本地测试
docker logs
docker logs 9ba9688107e5
测试链接
[root@david ~]# curl -I 59.110.223.120:88 2>/dev/null|head -3
HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Thu, 09 Apr 2020 03:57:06 GMT