一机玩转docker之十:创建及使用ssh镜像
目标 创建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,即可连接容器。