docker创建带有ssh的centos镜像
生活随笔
收集整理的這篇文章主要介紹了
docker创建带有ssh的centos镜像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、拉取鏡像
docker pull centos二、生成容器
docker run -itd --name=centos_ssh --privileged=true centos /usr/sbin/init1、其中–name指定容器名稱
2、–privileged=true 給容器訪問Linux內核特權,后面要使用systemctl,不加–privileged=true后面將無法執行systemctl命令。
三、進入容器
docker exec -it centos_ssh bash四、在容器內配置
1、安裝passwd和ssh-server
yum update -y && yum install passwd -y &&yum install openssh-server -y2、修改密碼
passwd之后會讓你輸入密碼兩次,記住密碼即可
3、編輯配置文件
該操作是為配置公鑰連接做準備,若不需要公鑰連接,可以忽略這一步
請移步到SSH公鑰登錄
4、開啟ssh并設置開機自啟動
systemctl restart sshd systemctl enable sshd五、將容器打包成鏡像
docker commit -m "centos with ssh" -a "root" centos_ssh centos_ssh:latest-m 來指定提交的說明信息
-a 可以指定更新的用戶信息
第一個centos_ssh是容器名稱
第二個centos_ssh是要生成的鏡像名稱,latest是版本號,默認是latest
使用
docker images就能夠看到剛生成的鏡像了,生成鏡像后可以將剛才的用于創建鏡像的容器停止并刪除,以節約資源。
六、通過生成的鏡像創建容器
docker run -d -p 2222:22 centos_ssh /usr/sbin/sshd -D-p是指定端口號,格式為主機端口號:容器端口號,即將容器相應端口號映射到主機相應端口號
七、連接
1、密碼連接
ssh root@localhost -p 22222222為你剛才指定的主機端口號
2、公鑰連接
主機中使用命令
ssh-keygen -t rsa生成公鑰,然后將公鑰復制后粘貼在容器中的~/.ssh/authorized_keys中,可以參考SSH公鑰登錄
配置完成后使用
即可連接,且不需要再輸入密碼
八、使用Dockerfile構建鏡像
dockerfile內容如下:
#生成的新鏡像以centos鏡像為基礎 FROM centos #升級系統 RUN yum -y update #安裝openssh-server RUN yum -y install openssh-server #修改/etc/ssh/sshd_config RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config# 生成sshkey RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key#變更root密碼 RUN echo "root:你要修改成的密碼"|chpasswd #開放窗口的22端口 EXPOSE 22 #運行腳本,啟動sshd服務 CMD ["/usr/sbin/sshd", "-D"]然后使用
docker build -t centos_ssh .構建鏡像即可。構建鏡像后可以通過
docker images查看構建好的鏡像,然后就可以通過構建好的鏡像創建容器并進行連接了。
總結
以上是生活随笔為你收集整理的docker创建带有ssh的centos镜像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像dpi像素调整方法
- 下一篇: Front end workflow