初學者的Dockerfile和私有倉庫建立

2021-10-09 15:27:34 字數 3488 閱讀 4119

基於已有的映象容器進行建立

-------------私有倉庫建立--------------------

上傳獲取私有倉庫列表

----------------容器互聯-----------------

----------------------------docker資料卷-----------------------------

------------------------資料卷容器-----------------------------

dockerfile 每行支援一條指令,每條指令可攜帶多個引數,支援使用以「#」號開頭的注釋

指令含義

from映象

指定新映象所基於的映象,第一條指令必須為from指令,每建立乙個映象就需要一條from指令

maintainer名字

說明新映象的維護人資訊

run命令

在所基於的映象上執行命令,並提交到新的映象中

cmd[「要執行的程式」,「引數1,引數2」]

指令啟動容器時要執行的命令或者指令碼,dockerfile只能有一條cmd命令,如果指定多條則只能最後一條被執行

expose埠號

指定新映象載入到docker時要開始的埠

env環境變數 變數值

設定乙個環境變數的值,會被後面的run使用

add原始檔/目錄 目標檔案/目錄

將原始檔複製到目標檔案,原始檔要與dockerfile位於相同目錄中,或者是乙個url

copy 原始檔/目錄 目標檔案/目錄

將本地主機上的檔案/目錄複製到目標地點,原始檔/目錄要與dockerfile在相同的目錄中

volume[「目錄」]

在容器中建立乙個掛載點

user 使用者名稱/uid

指定執行容器時的使用者

workdir 路徑

為後續的run、cmd、entrypoint指定工作目錄

onbuild 命令

指定所生成的映象作為乙個基礎映象時所要執行的命令

healthcheck

健康檢查

我對dockerfile的理解是,建立乙個有內容的映象檔案,建立完成後,將映象新增到容器中,直接執行即可

mkdir apache

cd apache

vim dockerfile

#基於的基礎映象

from centos:7

#維護映象的使用者資訊

maintainer the porject #映象操作指令安裝apache軟體

#開啟80埠(內部)

expose 80

#複製**首頁檔案

add index.html /var/www/html/index.html

#將執行指令碼複製到映象中

add run.sh /run.sh

run chmod 755 /run.sh

#啟動容器時執行指令碼

----------建立網頁----------------

echo "web test" > index.html

//生成映象

//新映象執行容器

//測試

//建立容器

docker create -it jasonlix/docker-cobbler /bin/bash

docker commit -m 「new」 -a 「docke」 id號(映象) docke:test

docker images | grep daoke

------------基於本地模板建立-------------

docker start id號(-a 查出來的容器id號)

讓容器執行起來

docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry

更改標記為192.168.209.139:5000/nginx

docker tag nginx:latest 192.168.209.139:5000/nginx

docker push 192.168.209.139:5000/nginx

curl -xget

上傳成功,顯示如下

docker pull 192.168.209.139:5000/nginx/latest

docker run -d -p 192.168.209.139:5000/nginx

隨機埠從32768開始

docker run -itd -p --name web11 centos:7 /bin/bash

開啟乙個新的客戶端

docker run -itd -p --name web22 --link web11:web11(這邊可以是乙個別名) centos:7 /bin/bash

資料管理操作

兩種管理方式

docker pull centos

//宿主機目錄/var/www 掛載容器中的/data1

docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash

//進入容器

cd /data1/

touch test123

//返回宿主機進行檢視

ls /var/www/

//資料卷容器

docker run --name web100 -v /data1 -v /data2 -it centos:7 /bin/bash

//開啟乙個新的客戶端,新容器掛載資料卷容器web100

docker run -it --volumes-from web100 --name db1 centos:7 /bin/bash

初學者談初學者學html

這是乙個段落。解釋一下就是 html 與 html 之間的文字是描述網頁。head 與 head 之間的文字是文件的元資料。title 與 之間的文字是文件的標題。body 與 body 之間的文字是可見的頁面內容,是文章的主體部分。h1 與 h1 之間的文字被顯示為乙個大標題。p 與 p 之間的文...

初學者mysql MySQL初學者使用指南

有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...

初學者 遞迴

program xuexi3 implicit none integer,external fact 呼叫函式需要寫external 待定 integer n write n read n write fact n stop endrecursive integer function fact n ...