Docker创建ssh远程镜像代码实例

    选择打赏方式

如果你需要远程登录到容器内进行一些操作的话,则需要进行SSH进行设置。

第一步

首先我们进行创建一个项目的目录,进行存放我们的shell文件和dockerfile文件。

mkdir sshd_ubuntu 
cd sshd_unbutu/   #进入目录 
touch Dockerfile run.sh  #创建dockerfile文件和 run.sh文件 


第二部

我们进行编写run.sh和authorized_keys文件。

#!/bin/bash 
/usr/sbin/sshd  -D 


在宿主主机上生成ssh密钥对,并创建authorized_keys文件

ssh-keygen -t rsa 
cat ~/.ssh/id_rsa.pub > authorized_keys 


第三部

编写我们需要的dockerfile文件

# 设置镜像版本

FROM ubuntu:14.04 


# 提供一些作者的信息

MAINTAINER docker_user (houshuai0816@docker.com) 


# 下面开始运行更新命令

RUN apt-get update 


# 安装ssh服务

RUN apt-get install -y openssh-server 
RUN mkdir -p /var/run/sshd 
RUN mkdir -p /root/.ssh 


# 取消pam限制

RUN sed -ri 's/session required pam_loginuid.so/#session  required pam_loginuid.so/g'  /etc/pam.d/sshd 


# 复制配置文件到相应位置,并赋予脚本可执行权限

ADD authorized_keys /root/.ssh/authorized_keys 
ADD run.sh /run.sh 
RUN chmod 755 /run.sh 


# 开放端口

EXPOSE 22 


# 设置自启动命令

CMD ["/run.sh"] 


第四部

创建我们想要的镜像,使用docker build 命令(在sshd_ubuntu目录下)来创建镜像。

cd sshd_ubuntu 
docker build -t sshd:dockerfile . #注意后面有个 '.' 表示使用当前目录中的Dockerfile: 


测试镜像

docker run -d -p 10122:22 sshd:dockerfile # 此处直接启动容器,并映射容器的22端口到本地的10122端口就可以使用10122端口进行连接到新建的容器。 
ssh 192.168.1.* :10122


版权声明:若无特殊注明,本文皆为《 奶沫 》原创,转载请保留文章出处。
本文链接:Docker创建ssh远程镜像代码实例 https://itho.cn/linux/157.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!