到這里docker系列教程已經是第六期了,今天我們來給大家介紹一下docker鏡像的創建方法,還是老規矩喜歡的話記得收藏起來。
創建鏡像
當我們從 docker 鏡像倉庫中下載的鏡像不能滿足我們的需求時,我們可以通過以下兩種方式對鏡像進行更改。
1、從已經創建的容器中更新鏡像,并且提交這個鏡像
2、使用 Dockerfile 指令來創建一個新的鏡像
創建Docker賬號
共享和發布鏡像時構建鏡像中重要的環節,可以將鏡像推送到Docker Hub或資金的私有Registry中。
這條命令會完成登錄,并將認證信息報錯起來供后面使用。個人認證信息將報錯到$HOME/ .dockercfg文件中.
用 commit 命令創建鏡像
可以想象是往版本控制系統里提交變更:首先創建一個容器,并在容器里做修改,就行修改代碼一樣,最后在講修改提交為一個新鏡像。
創建一個新容器命令:
sudo docker run -i -t ubuntu /bin/bash
或者之前創建好的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存在,創建啟動服務
mkdir -p /var/run/sshd/usr/sbin/sshd -D &
然后可以看到已經運行,netstat命令可能也沒有,安裝即可apt-get install net-tools
然后復制需要登錄的公鑰信息(這里為本地主機)。使用ssh-keygen可以生成。
復制id_rsa.pub的內容到容器中的/root/.ssh/authorized_keys
創建ssh服務執行文件,然后退出容器
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創建鏡像
創建一個目錄sshd_ubuntu,分別創建文件如下:
以上就是docker框架的鏡像創建方法了,下一期我們繼續介紹dockerfile的創建方法,如果你對Python來發感興趣的話不妨來千鋒Python培訓班了解一下我們的Python培訓課程,現在咨詢還能免費領取Python學習資料,千萬不要錯過了。