您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Docker如何使用Dockerfile創(chuàng)建容器鏡像 ”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Docker如何使用Dockerfile創(chuàng)建容器鏡像 ”吧!
原文鏈接:Docker使用Dockerfile創(chuàng)建支持ssh服務(wù)自啟動(dòng)的容器鏡像
1. 首先創(chuàng)建一個(gè)Dockerfile文件,文件內(nèi)容如下
# 選擇一個(gè)已有的os鏡像作為基礎(chǔ) FROM centos:centos6 # 鏡像的作者 MAINTAINER Fanbin Kong "kongxx@hotmail.com" # 安裝openssh-server和sudo軟件包,并且將sshd的UsePAM參數(shù)設(shè)置成no RUN yum install -y openssh-server sudo RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config # 添加測(cè)試用戶admin,密碼admin,并且將此用戶添加到sudoers里 RUN useradd admin RUN echo "admin:admin" | chpasswd RUN echo "admin ALL=(ALL) ALL" >> /etc/sudoers # 下面這兩句比較特殊,在centos6上必須要有,否則創(chuàng)建出來的容器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 # 啟動(dòng)sshd服務(wù)并且暴露22端口 RUN mkdir /var/run/sshd EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]
Dockerfile文件有自己的語法和命令,具體可以參考Docker的官方文檔。
2. 有了Dockerfile文件以后,就可以根據(jù)Dockerfile來創(chuàng)建image文件了,在Dockerfile所在的目錄下,運(yùn)行下面的命令
sudo docker build -t centos6-ssh .
命令成功后,就會(huì)創(chuàng)建一個(gè)名字為centos6-ssh的image,可以使用“sudo docker images”來查看。
3. 此時(shí)就可以根據(jù)上面創(chuàng)建出來的image文件來創(chuàng)建自己的容器了,下面的命令會(huì)創(chuàng)建一個(gè)名字為“mytest”的容器。
sudo docker run -d -P --name=mytest centos6-ssh
4. 有了容器,就可以測(cè)試我們的ssh服務(wù)了。
4.1 運(yùn)行“sudo docker inspect mytest”,查看當(dāng)前啟動(dòng)容器IP地址,然后運(yùn)行下面的命令來測(cè)試
ssh admin@<容器IP>
4.2 另外,也可以通過docker的端口映射來訪問, 使用“sudo docker port mytest 22”查看當(dāng)前容器的22端口對(duì)應(yīng)的宿主機(jī)器的端口,然后通過下面的命令來訪問
ssh admin@<宿主機(jī)器IP> -p <宿主機(jī)器端口>
到此,相信大家對(duì)“Docker如何使用Dockerfile創(chuàng)建容器鏡像 ”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。