Docker之dockerfile及ssh映象實戰

2021-10-06 02:59:15 字數 3250 閱讀 4317

dockerfile是乙個文字格式的配置檔案,使用者可以使用dockerfile來快速建立自定義的映象。

dockerfile由一行行命令語句組成,並支援以#開頭的注釋行。

一般來說dockerfile主題內容分為四部分:基礎映象資訊、維護者資訊、映象操作指令和容器啟動時執行命令。

#配置指令

arg:定義建立映象過程中使用的變數

from:指定所建立映象的基礎映象

label:為生成的映象新增標籤資訊

expose:宣告映象內服務監聽的埠

env:指定環境變數

enterpoint:指定映象的預設入口命令

volume:建立乙個資料卷掛載點

user:指定執行容器時的使用者名稱或uid

workdir:配置工作目錄

onbuild:建立子映象時指定自動執行的操作指令

stopsignal:指定退出的訊號值

healthcheck:配置所啟動容器如何進行健康檢查

shell:指定預設shell型別

#操作指令

run:執行指定命令

cmd:啟動容器時預設執行的命令

add:新增內容到映象

copy:複製內容到映象

arg:

格式:arg [=]

只存在於映象內部使用,映象編譯成功後,arg變數將不存在

docker內建了一些映象建立變數,可以直接使用。如:http_proxy,https_proxy,ftp_proxy,no_proxy

from:

格式:from 或 from :

dockfile第一條指令必須是from指令。

from centos:7.4
label:

格式:label =

label date="2020-05-13"

label auther="[email protected]"

expose:

格式:expose

expose 22

expose 22 80

env:

格式:env 或 =

volume:

格式:volume ["/data"]

執行容器時可以從本地主機或其他容器掛載資料卷,一般用來存放資料庫和需要保持的資料

workdir:

格式:workdir /path/to/workdir

workdir /

data

run:

格式:run

多條命令可以用&&連線

格式:cmd [「executable」,「paraml」]

cmd [

"/usr/sbin/sshd"

,"-d"

]cmd [

"/bin/bash"

,"/init.sh"

]

add:

格式:add

將的內容複製到目錄下

add *

.c /code

add *

.tar.gz /usr/local

copy:格式:docker build [options] path | url | -

docker build -t centos_ssh:v1
其他命令選項不在這裡說明。

建立乙個存放dockerfile的目錄:養成良好習慣

mkdir -p /opt/dockerfile
建立容器目錄,進入目錄編寫dockerfile

cd /opt/dockerfile/

mkdir centos6_sshd

cd centos6_sshd/

vim dockerfile

from centos:6.8

label auther="[email protected]"

run yum -y install openssh-server \

&& /etc/init.d/sshd start \

&& echo 123123|passwd --stdin root

expose 22

cmd [

"/usr/sbin/sshd"

,"-d"

]

構建容器映象:

docker build -t centos6_sshd:1.0 /opt/dockerfile/centos6_sshd/
測試:

docker run -d -p 1022:22 centos6_sshd:1.0

ssh [email protected] -p1022

the authenticity of host '[192.168.1.3]:1022 ([192.168.1.3]:1022)' can't be established.

rsa key fingerprint is sha256:mtoummxrlhbah1q5svhidt0mcek+gjup/mrgwy33/um.

rsa key fingerprint is md5:5c:17:62:3f:00:8b:da:93:2c:f9:e3:b7:27:a8:a9:5b.

are you sure you want to continue connecting (yes/no)? yes

warning: permanently added '

[192.168.1.3]:1022' (rsa) to the list of known hosts.

[email protected]'s password:

[root@4c2fd8c13791 ~]

#

測試ssh連線正常。

docker映象的製作(一) dockerfile

映象的儲存方式,利用linux的聯合儲存檔案系統,不同的目錄可以掛載在同乙個的檔案系統下,就能形成分層的結構 在同乙個目錄下查詢到其他各個目錄的檔案。在 docker commit 的學習中,我們可以了解到,映象的定製實際上就是定製每一層所 新增的配置 檔案。如果我們可以把每一層修改 安裝 構建 操...

docker學習之docker命令

在csdn的第一篇文章,排版之類的慢慢研究,先把內容充實上去,菜雞起步,坐穩扶好了 首先我們要牢記並善於使用乙個最最最重要的命令 docker help help這個選項大家都知道是幹嘛的吧,不會help一下,這個在docker的命令分支中也賊好用,例如關於docker image可以幹那些事就可以...

Docker學習之Docker安裝

1.更新yum包 生產環境慎重!yum update會對軟體包和核心公升級,為了排除系統環境的影響 執行命令 yum update y 2.安裝基礎軟體包 3.配置yum資料來源 阿里雲 執行命令 yum config manager add repo 4.列印倉庫中docker映象版本 執行命令 ...