docker 通过 Dockerfile 安装centos7 镜像,并完成ssh连接
一、编辑Dockefile文件这里选用的镜像源为网易云的镜像,Dockerfile的内容也是从该镜像源中进行复制,网易云镜像地址:网易云-镜像中心Dockerfile 内容如下FROM hub.c.163.com/netease_comb/centos:7MAINTAINER netease# 更新yum源RUN yum makecache fast...
·
一、编辑Dockefile
文件
- 这里选用的镜像源为网易云的镜像,
Dockerfile
的内容也是从该镜像源中进行复制,网易云镜像地址:网易云-镜像中心
-
Dockerfile
内容如下
FROM hub.c.163.com/netease_comb/centos:7
MAINTAINER netease
# 更新yum源
RUN yum makecache fast && yum -y update glibc
# 安装常用软件
RUN yum install -y openssh-server vim tar wget curl rsync bzip2 iptables tcpdump less telnet net-tools lsof
# 初始化ssh登陆
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
RUN echo "RSAAuthentication yes" >> /etc/ssh/sshd_config
RUN echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
RUN yum clean all
# 启动sshd服务并且暴露22端口
RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
二、 将镜像 Dockerfile
上传至服务器
- 服务器保证已安装docekr,并启动,如果未安装,末尾附上docker安装教程
- 这里测试地址为:
/home/docker/docker-file
三、 获取centos7 镜像
- 在
Dockerfile
的文件夹下运行:docker build -t centos7-my .
- 其中
centos7-my
为生成的镜像名称- 下载完成后查看生成镜像:
docker images
(其中红框标注为当前命令下载生成的镜像)
四、启动容器
- 命令:
docker run -itd --name os1 -p 10000:22 82f0ca03ea09 /bin/bash
--name os1
: 启动容器的容器名称82f0ca03ea09
: 镜像id-p 10000:22
: 端口映射,将容器22
端口映射到宿主机10000
端口,供后续ssh远程登录
五、开启ssh连接
- 1、进入
os1
容器 :docker exec -it os1 bash
,如下图,红框部分为容器的 id,如果出现则表示进入成功
- 2、启动ssh :
/usr/sbin/sshd -D &
,回车两次,其中有个警告,可以忽略,截图如下:
- 3、查看是否已经启动:
lsof -i:22
,出现如下图信息则表示启动成功
- 4、修改登录密码:
passwd
六、进行ssh远程登录测试
- 1、下图为连接参数:
- 2、下图为用户验证参数:
- 3、下图为配置成功截图:
附:docker 服务器安装
- 1、yum源安装
- 更新yum源:
yum update -y
- 安装docker:
yum install docker -y
- 启动docker:
systemctl start docker
- 2、离线安装,见文章链接:docker 离线安装
更多推荐
已为社区贡献2条内容
所有评论(0)