使用Dockerfile:製做可ssh登陸的鏡像

建立項目目錄
mkdir demo
cd demo
mkdir centos-ssh
cd centos-ssh
touch Dockerfile
vim Dockerfile

```
# 設置基本的鏡像,後續命令都以這個鏡像爲基礎
FROM centos:centos7
# 做者信息
MAINTAINER Qicheng, http://qicheng0211.blog.51cto.com
# RUN命令會在上面指定的鏡像裏執行任何命令
RUN yum install passwd openssl openssh-server -y
RUN echo '123456' | passwd --stdin root
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN sed -i '/^session\s\+required\s\+pam_loginuid.so/s/^/#/' /etc/pam.d/sshd
RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh
# 暴露ssh端口22
EXPOSE 22
# 設定運行鏡像時的默認命令:輸出ip,並以daemon方式啓動sshd
CMD ip addr ls eth0 | awk '{print $2}' | egrep -o '([0-9]+\.){3}[0-9]+';/usr/sbin/sshd -D

```
構建鏡像
sudo docker build -t demo/centos_ssh  .
查看已構建的鏡像
docker images
運行容器
sudo docker run -it -d --name node1 -p 2201:22 demo/centos_ssh
終端登陸驗證
ssh root@192.168.0.10 -p 2201
web頁面登錄用戶:admin password: tryportainer
相關文章
相關標籤/搜索