docker镜像制作(一)
docker镜像制作(一)
- 一、基于容器的镜像制作(例如虚拟机ssh登录容器,以centos7.4为例)
- 1、 启动基础镜像容器,并安装软件包
- 2、对ssh进行配置
- 3、更改容器内的root密码,否则远程登录不了
- 4、查看容器的ip地址
- 5、宿主机ssh连接测试
- 6、对已经做好ssh功能的容器进行保存,并做成镜像文件
- 7、基于新镜像启动容器,实现centos7.4+sshd功能
- 8、查看新容器的ip地址,使用xshell连接容器
一、基于容器的镜像制作(例如虚拟机ssh登录容器,以centos7.4为例)
1、 启动基础镜像容器,并安装软件包
docker run -it --name="ljm_centos" centos:7.4.1708 yum install -y net-tools openssl openssh-server


2、对ssh进行配置
/usr/sbin/sshd -D

分别执行以下命令:
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

修改sshd_config文件配置信息,暴露22端口,并且设置是否允许root用户登录
17行取消注释
Port 2238行取消注释
PermitRootLogin yes

开始ssh服务,并放入后台执行
/usr/sbin/sshd -D &

3、更改容器内的root密码,否则远程登录不了

4、查看容器的ip地址

5、宿主机ssh连接测试

6、对已经做好ssh功能的容器进行保存,并做成镜像文件
docker commit ljm_centos ljm/centos7.4_sshd:v1

7、基于新镜像启动容器,实现centos7.4+sshd功能
开启新镜像后,发现sshd能启动,但是容器启动后,默认第一进程为/bin/bash,所以退出后容器属于退出状态。
因此我们需要把第一进程设置为 /usr/sbin/sshd ,并后台运行,这样退出/bin/bash后,ssh仍然在继续运行docker container run -d --name=sshd -p 222:22 镜像名称 /usr/sbin/sshd -D

8、查看新容器的ip地址,使用xshell连接容器
docker container inspect fe7abde908c8 | grep IPAddress




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
