本文小編為大家詳細介紹“如何使用Dockerfile創建支持ssh服務自啟動的容器鏡像”,內容詳細,步驟清晰,細節處理妥當,希望這篇“如何使用Dockerfile創建支持ssh服務自啟動的容器鏡像”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
1. 首先創建一個dockerfile文件,文件內容如下
# 選擇一個已有的os鏡像作為基礎 from centos:centos6 # 鏡像的作者 maintainer fanbin kong "kongxx@hotmail.com" # 安裝openssh-server和sudo軟件包,并且將sshd的usepam參數設置成no run yum install -y openssh-server sudo run sed -i 's/usepam yes/usepam no/g' /etc/ssh/sshd_config # 添加測試用戶admin,密碼admin,并且將此用戶添加到sudoers里 run useradd admin run echo "admin:admin" | chpasswd run echo "admin all=(all) all" >> /etc/sudoers # 下面這兩句比較特殊,在centos6上必須要有,否則創建出來的容器sshd不能登錄 run ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key run ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key # 啟動sshd服務并且暴露22端口 run mkdir /var/run/sshd expose 22 cmd ["/usr/sbin/sshd", "-d"]
dockerfile文件有自己的語法和命令,具體可以參考docker的官方文檔。
2. 有了dockerfile文件以后,就可以根據dockerfile來創建image文件了,在dockerfile所在的目錄下,運行下面的命令
sudo docker build -t centos6-ssh .
命令成功后,就會創建一個名字為centos6-ssh的image,可以使用“sudo docker images”來查看。
3. 此時就可以根據上面創建出來的image文件來創建自己的容器了,下面的命令會創建一個名字為“mytest”的容器。
sudo docker run -d -p --name=mytest centos6-ssh
4. 有了容器,就可以測試我們的ssh服務了。
4.1 運行“sudo docker inspect mytest”,查看當前啟動容器ip地址,然后運行下面的命令來測試
ssh admin@<容器ip>
4.2 另外,也可以通過docker的端口映射來訪問, 使用“sudo docker port mytest 22”查看當前容器的22端口對應的宿主機器的端口,然后通過下面的命令來訪問
ssh admin@<宿主機器ip> -p <宿主機器端口>
讀到這里,這篇“如何使用Dockerfile創建支持ssh服務自啟動的容器鏡像”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。