Docker 自定義映象

2021-10-01 14:33:30 字數 1959 閱讀 2570

在已有的docker映象當中,新增一些自己需要的功能,封裝成自己映象。

例:自定義乙個有yum源的centos的映象

docker run -it docker.io/centos:latest	#啟動乙個容器

yum -y install vim net-tools pstree iproute bash-completion #安裝相關軟體,最後乙個是自動補全

rm -fr /etc/yum.repos.d/*

vim /etc/yum.repos.d/local.repo

[local_repo]

name = ***x

baseurl =

enabled = 1

gpgcheck = 0

yum clean all

yum repolist

docker commit 容器id 容器名:標籤 #容器儲存成映象

dockerfile:

製作docker映象的指令碼,名字必須為dockerfile

語法格式:

from:基礎映象

add:複製本地檔案到映象中,相當於scp

run:製作映象時執行的命令,命令在容器中執行,在dockerfile檔案中可以有多條

cmd:使用docker run啟動容器時執行的命令,在dockerfile檔案中僅能有一條

workdir:定義容器預設工作目錄,相當於cd命令

cmd使用方式:cmd ["命令", "引數1", "引數2", "引數n"]--> cmd ["/usr/sbin/sshd", "-d"]

使用cmd執行的就是上帝程序。

例1:使用dockerfile自定義乙個有yum源的centos的映象

vim dockerfile

from docker.io/centos:latest #選擇基礎映象

run rm -fr /etc/yum.repos.d/* #製作映象時,在容器中執行的命令

add local.repo /etc/yum.repos.d/local.repo #將本地檔案拷貝到容器,本地檔案必須和dockerfile在同乙個目錄下

run yum -y install vim net-tools pstree iproute bash-completion

docker build -t myos:test . #使用dockerfile建立映象,在dockerfile所在的目錄下執行

例2:使用docker自定義乙個服務容器,啟動容器時,服務也同時啟動(ssh服務為例)

vim dockerfile

# 以下命令在製作映象時執行

from myos:test #基礎映象

run yum -y install openssh-server initscripts && sshd-keygen

run echo "123456" | passwd --stdin root

# 以下命令在啟動容器時執行

# 以下都可以在/usr/lib/systemd/system/***.service中找對應的選項

env environmentfile=/etc/sysconfig/sshd #環境變數

expose 22 #開放的埠

cmd ["/usr/sbin/sshd", "-d"] #啟動容器時執行的命令

docker build -t mysshd:test . #使用dockerfile建立映象,在dockerfile所在的目錄下執行

# 以上為容器建立了乙個的root使用者設定了密碼為123456

# 在使用docker run 啟動容器的時候會自動開啟ssh服務

# 想要定義其他容器的服務也類似

# 可以在/usr/lib/systemd/system/***.service找對應的選項

寫總結的第七十四天!!!

Docker 映象 自定義映象

1 自定義mycentos目的使我們自己的映象具備如下 登陸後的預設路徑 vim編輯器 檢視網路配置ifconfig支援 2 準備編寫dockerfile檔案 mkdir mydockerfile vim dockerfile file首字母要小寫,不然報錯dockerfile內容如下from ce...

docker 自定義映象

從阿里雲pull下來的centos映象沒有ifconfig,vim.為了有這些功能我們需要自定義映象.目的 1.支援vim 2.支援ifconfig 3.修改登入後的預設路徑 首先先在宿主機的根目錄下建立乙個資料夾mydocker,然後vim乙個dockerfile的dockerfile檔案 fro...

Docker製作自定義映象

docker使用基礎映象製作自定義映象,然後根據自定義映象生成新的容器。一 生成自定義映象 1.ubuntu安裝docker curl ssl sh 2.ubuntu獲取debian映象 sudo docker pull debian 3.根據基礎映象新建容器,並以後臺形式執行 sudo docke...