1.2 公升級docker
1.3 解除安裝docker
2 組成架構
3 映象倉庫
4 映象命令
5 容器命令
6 dockerfile
命令語法:
docker login [options] [server]
命令選項:
選項說明-u username
賬戶名-p password
賬戶密碼
命令示例:
# 登入到docker hub註冊伺服器中的個人倉庫(執行命令後根據提示輸入docker hub賬戶和密碼)
docker login
# 登入到registry.mind.cn註冊伺服器中的私有倉庫(執行命令後根據提示輸入賬戶和密碼)
docker login registry.mind.cn
指令語法:
# 語法一:
add [--chown=:] ... # 語法二:如果路徑中包含空格,則必須使用這種格式
add [--chown=:] ["",... ""]
指令說明:只有使用dockerfile構建linux容器的情況下才支援--chown選項,而構建windows容器的情況下不支援該選項。可以指定多個源位址,但如果它們是檔案或目錄,則它們會被視為基於構建映象的上下文的相對路徑。目標位址可以是絕對路徑,也可以是相對於workdir的相對路徑。在複製檔案或目錄時,如果包含特殊字元(如[和]),則需要按照golang規則轉義這些路徑,以防止將它們視為匹配模式。複製生成的所有檔案和目錄的uid和gid預設都是0,除非使用--chown選項指定使用者名稱、組名或uid、gid,如果指定了使用者名稱卻沒有指定組名,或指定了uid卻沒有指定gid,則使用uid的值作為gid的值。
指令示例:
# 把工作目錄下的所有以hom開頭的檔案全部都複製到/mydir/目錄下
add hom* /mydir/
# 把工作目錄下所有符合hom?.txt格式的檔案全部都複製到/mydir/目錄下
add hom?.txt /mydir/
# 把工作目錄下的test檔案複製到workdir/relativedir/目錄下
add test relativedir/
# 把工作目錄下的test檔案複製到/absolutedir/目錄下
add test /absolutedir/
# 把工作目錄下的arr[0].txt檔案複製到/mydir/目錄下。(特殊符號的轉換)
add arr[0].txt /mydir/
# 同時指定使用者名稱和組名
add --chown=55:mygroup files* /somedir/
# 只指定使用者名稱
add --chown=bin files* /somedir/
# 只指定uid(預設gid的值與uid的值相同)
add --chown=1 files* /somedir/
# 同時指定uid和gid
add --chown=10:11 files* /somedir/
指令語法:
# 語法一:
copy [--chown=:] ... # 語法二:如果路徑中包含空格,則必須使用這種格式
copy [--chown=:] ["",... ""]
指令說明:只有使用dockerfile構建linux容器的情況下才支援--chown選項,而構建windows容器的情況下不支援該選項。可以指定多個源位址,但如果它們是檔案或目錄,則它們會被視為基於構建映象的上下文的相對路徑。目標位址可以是絕對路徑,也可以是相對於workdir的相對路徑。在複製檔案或目錄時,如果包含特殊字元(如[和]),則需要按照golang規則轉義這些路徑,以防止將它們視為匹配模式。複製生成的所有檔案和目錄的uid和gid預設都是0,除非使用--chown選項指定使用者名稱、組名或uid、gid,如果指定了使用者名稱卻沒有指定組名,或指定了uid卻沒有指定gid,則使用uid的值作為gid的值。
指令示例:
# 把工作目錄下的所有以hom開頭的檔案全部都複製到/mydir/目錄下
copy hom* /mydir/
# 把工作目錄下符合hom?.txt格式的檔案全部都複製到/mydir/目錄下
copy hom?.txt /mydir/
# 把工作目錄下的test檔案複製到workdir/relativedir/目錄下
copy test relativedir/
# 把工作目錄下的test檔案複製到/absolutedir/目錄下
copy test /absolutedir/
# 把工作目錄下的arr[0].txt檔案複製到/mydir/目錄下。(特殊符號的轉換)
copy arr[0].txt /mydir/
# 同時指定使用者名稱和組名
copy --chown=55:mygroup files* /somedir/
# 只指定使用者名稱
copy --chown=bin files* /somedir/
# 只指定uid(預設gid的值與uid的值相同)
copy --chown=1 files* /somedir/
# 同時指定uid和gid
copy --chown=10:11 files* /somedir/
指令語法:
# shell格式:命令會在shell中執行,linux中預設是 /bin/sh -c,windows中預設是 cmd /s /c
run # exec格式:
run ["executable", "param1", "param2"]
指令說明:與shell格式不同,exec格式不會呼叫shell命令,所以shell處理不會發生,例如:run [「echo」,「$home」] 不會對 $home 執行變數替換;如果要進行shell處理,可以使用shell格式或使用exec格式並直接執行shell,例如:run [「/bin/bash」、「-c」、「echo $home」],當使用exec格式並直接執行shell時,與shell格式一樣,執行環境變數擴充套件的是shell,而不是docker。exec格式會被解析為json陣列,所以必須使用雙引號,而不是單引號。json格式中需要轉義反斜槓,否則會報錯,例如:run [「c:\windows\system32\tasklist.exe」]。
指令示例:
# shell格式示例一:使用 \ 將乙個連續的shell執行指令寫到多行中,並指定義shell為 /bin/bash
run /bin/bash -c 'source $home/.bashrc; \
echo $home'
# shell格式示例二:將乙個連續的shell執行指令寫到同一行中(與shell格式示例一等價)
run /bin/bash -c 'source $home/.bashrc; echo $home'
# exec格式示例:
run ["/bin/bash", "-c", "echo hello"]
docker學習筆記
1 docker依賴於linux核心,無法直接安裝在windows環境中,否則需要安裝docker toolbox 2 相關操作 docker create 建立乙個容器但是不啟動它 docker run 建立並啟動乙個容器 docker stop id 停止容器執行,傳送訊號sigterm doc...
Docker學習筆記
一 docker是什麼 docker是乙個開源的引擎,可以輕鬆的為任何應用建立乙個輕量級的 可移植的 自給自足的容器。就相當於書包可以裝書,水杯可以盛水。二 docker解決了什麼問題 我本地沒有問題啊 本地和線上的環境不一致問題,哪個哥們又寫死迴圈了 其他專案的出錯不影響你本身的專案 雙十一伺服器...
docker學習筆記
1.怎麼給執行中的docker容器新增新的埠 解決 1 獲得容器ip docker inspect container name grep ipaddress 2 iptable埠 將容器的8000埠對映到主機的8001埠 iptables tnat adocker ptcp dport 8001 ...