有時候Docker 鏡像倉庫中下載的鏡像并不能滿足我們的需求時,我們需要基于現有的鏡像進行更改,構建符合自己的鏡像
構建自己鏡像的方式有兩種:
- 一、從已經創建的容器中更新鏡像,并且提交這個鏡像
1. 選一個基礎鏡像作為基準(docker pull ubuntu),并使用該鏡像來創建一個容器,以ubuntu:15.10鏡像為例
docker run -it ubuntu:15.10 /bin/bash
2.進入鏡像之后,安裝部署自己的程序比如:運行個go程序,并做成開機啟動。這里以更新
系統包為例:
apt-get update
3.在運行的鏡像中執行完自己要運行的程序之后,用exit 退出當前鏡像
docker ps 下看看當前容器id 218edb10161
4.使用docker commit 來提交當前容器的副本
docker commit -m="更新說明" -a="作者名稱" e218edb10161 test/ubuntu:v2
5.docker images 查看到自己創建的鏡像
6.導出鏡像
docker export 1e218edb10161 > ubuntugo.tar
- 二、使用 Dockerfile 指令來創建一個新的鏡像
1.創建一個Dockerfile,內容如下:
FROM centos:7.5
MAINTAINER Fisher "chen@qq.com"
RUN apt-get update
EXPOSE 22
EXPOSE 80
2.使用docker build 創建鏡像
docker build -t test/centos:7.5 ./Dockerfile
docker build -t test/centos:7.5 ./Dockerfile
3.docker images 查看當前的鏡像
4.導出鏡像
docker export 1e218edb10161 > ubuntugo.tar