一机玩转docker之十:创建及使用ssh镜像

  1. 云栖社区>
  2. 博客>
  3. 正文

一机玩转docker之十:创建及使用ssh镜像

方解石 2018-02-21 10:41:26 浏览2326
展开阅读全文

目标

创建ssh镜像,并使用ssh镜像创建容器以便上传文件。

一、以centos镜像为基础构建ssh的镜像

mkdir -p /data/build/ssh/ #创建镜像构建目录
cd /data/build/ssh/ #进入镜像构建目录
#将下载的jdk安装包jdk-8u162-linux-x64.tar.gz上传到该目录
vim Dockerfile #创建构建文件

构建文件内容如下:

FROM centos

# 更新系统及更新源(可与其他构建共享此镜像层)
RUN yum -y update \
&& yum -y install epel-release

# 安装ssh服务
RUN yum -y install net-tools.x86_64 \
&& yum -y install openssh-server \
&& yum -y install openssh-clients \
&& ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" \
&& ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" \
&& ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""

# 监听端口
EXPOSE 22

# 启动监听
CMD /usr/sbin/sshd -D

构建镜像

docker build -t centos-ssh . #构建镜像,且镜像名为centos-ssh

二、以centos-ssh镜像为基础启动容器

docker run \
-dit \
--rm \
--name out_ssh \
-p 2201:22 \
-v /data/prd/bt/wwwroot:/root/web \
centos-ssh #启动一个ssh容器,并使用宿主机的2201端口

docker run \
-dit \
--rm \
--name in_ssh \
-p 2202:22 \
-v /data/prd/bt/wwwroot:/root/web \
centos-ssh #启动另一个ssh容器,并使用宿主机的2202端口

docker exec -it out_ssh passwd root #设置容器的root密码
docker exec -it in_ssh passwd root #设置容器的root密码

三、使用容器进行ssh连接

使用如xshell工具,连接宿主机IP,并使用端口号2201或2202,即可连接容器。

网友评论

登录后评论
0/500
评论
方解石
+ 关注