docker 通過 Dockerfile 安裝centos7 鏡像,並完成ssh連接

一、編輯Dockefile文件

  • 這裏選用的鏡像源爲網易雲的鏡像,Dockerfile的內容也是從該鏡像源中進行復制,網易雲鏡像地址:網易雲-鏡像中心
  • Dockerfile 內容如下
FROM hub.c.163.com/netease_comb/centos:7
MAINTAINER netease
 
# 更新yum源
RUN yum makecache fast && yum -y update glibc    

# 安裝常用軟件
RUN yum install -y openssh-server vim tar wget curl rsync bzip2 iptables tcpdump less telnet net-tools lsof
# 初始化ssh登陸
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
RUN echo "RSAAuthentication yes" >> /etc/ssh/sshd_config
RUN echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config    

RUN yum clean all
 
# 啓動sshd服務並且暴露22端口
RUN mkdir /var/run/sshd    

EXPOSE 22    

CMD ["/usr/sbin/sshd", "-D"]

二、 將鏡像 Dockerfile上傳至服務器

  • 服務器保證已安裝docekr,並啓動,如果未安裝,末尾附上docker安裝教程
  • 這裏測試地址爲:/home/docker/docker-file

三、 獲取centos7 鏡像

  • Dockerfile 的文件夾下運行:docker build -t centos7-my .
  • 其中 centos7-my 爲生成的鏡像名稱
  • 下載完成後查看生成鏡像: docker images (其中紅框標註爲當前命令下載生成的鏡像)

    image.png

四、啓動容器

  • 命令:docker run -itd --name os1 -p 10000:22 82f0ca03ea09 /bin/bash
  • --name os1 : 啓動容器的容器名稱
  • 82f0ca03ea09 : 鏡像id
  • -p 10000:22 : 端口映射,將容器22端口映射到宿主機10000端口,供後續ssh遠程登錄

五、開啓ssh連接

  • 1、進入 os1 容器 : docker exec -it os1 bash,如下圖,紅框部分爲容器的 id,如果出現則表示進入成功

image.png

  • 2、啓動ssh : /usr/sbin/sshd -D & ,回車兩次,其中有個警告,可以忽略,截圖如下:

image.png

  • 3、查看是否已經啓動:lsof -i:22,出現如下圖信息則表示啓動成功

image.png

  • 4、修改登錄密碼:passwd

六、進行ssh遠程登錄測試

  • 1、下圖爲連接參數:

image.png

  • 2、下圖爲用戶驗證參數:

image.png

  • 3、下圖爲配置成功截圖:

image.png

附:docker 服務器安裝

  • 1、yum源安裝
  • 更新yum源:yum update -y
  • 安裝docker: yum install docker -y
  • 啓動docker: systemctl start docker



作者:程序猿TT
鏈接:https://www.jianshu.com/p/677c64580545
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章