docker镜像制作(一)

100 篇文章 3 订阅
10 篇文章 0 订阅

一、基于容器的镜像制作(例如虚拟机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 22

38行取消注释
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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白的成功进阶之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值