到這里docker系列教程已經(jīng)是第六期了,今天我們來給大家介紹一下docker鏡像的創(chuàng)建方法,還是老規(guī)矩喜歡的話記得收藏起來。
創(chuàng)建鏡像
當(dāng)我們從 docker 鏡像倉庫中下載的鏡像不能滿足我們的需求時,我們可以通過以下兩種方式對鏡像進行更改。
1、從已經(jīng)創(chuàng)建的容器中更新鏡像,并且提交這個鏡像
2、使用 Dockerfile 指令來創(chuàng)建一個新的鏡像
創(chuàng)建Docker賬號
共享和發(fā)布鏡像時構(gòu)建鏡像中重要的環(huán)節(jié),可以將鏡像推送到Docker Hub或資金的私有Registry中。
這條命令會完成登錄,并將認證信息報錯起來供后面使用。個人認證信息將報錯到$HOME/ .dockercfg文件中.
用 commit 命令創(chuàng)建鏡像
可以想象是往版本控制系統(tǒng)里提交變更:首先創(chuàng)建一個容器,并在容器里做修改,就行修改代碼一樣,最后在講修改提交為一個新鏡像。
創(chuàng)建一個新容器命令:
sudo docker run -i -t ubuntu /bin/bash
或者之前創(chuàng)建好的myubuntu容器:
sudo docker start myubuntu
sudo docker attach myubuntu
注意:
docker run 后面指定的是一個鏡像、而docker start指定的是一個容器、docker run是利用鏡像生成容器,并啟動容器,而docker start是啟動一個之前生成過的容器
因為ubuntu官方鏡像中沒有軟件包的緩存文件,使用apt-get update更新即可,也可以修改源來配置。進入myubuntu之后,然后安裝ssh。
運行ssh需要目錄/var/run/sshd存在,創(chuàng)建啟動服務(wù)
mkdir -p /var/run/sshd/usr/sbin/sshd -D &
然后可以看到已經(jīng)運行,netstat命令可能也沒有,安裝即可apt-get install net-tools
然后復(fù)制需要登錄的公鑰信息(這里為本地主機)。使用ssh-keygen可以生成。
復(fù)制id_rsa.pub的內(nèi)容到容器中的/root/.ssh/authorized_keys
創(chuàng)建ssh服務(wù)執(zhí)行文件,然后退出容器
vim /run.sh
chmod +x run.sh
使用docker commit保存修改的容器,然后運行
docker commit CONTAINER ID ssh:ubuntu
docker run -d -p :22 ssh:ubuntu /run.sh
最后可以在宿主機上通過隨機生成的32768端口來訪問登錄容器了:
使用dockerfile創(chuàng)建鏡像
創(chuàng)建一個目錄sshd_ubuntu,分別創(chuàng)建文件如下:
以上就是docker框架的鏡像創(chuàng)建方法了,下一期我們繼續(xù)介紹dockerfile的創(chuàng)建方法,如果你對Python來發(fā)感興趣的話不妨來千鋒Python培訓(xùn)班了解一下我們的Python培訓(xùn)課程,現(xiàn)在咨詢還能免費領(lǐng)取Python學(xué)習(xí)資料,千萬不要錯過了。