docker映象打包

2022-01-11 06:19:05 字數 2407 閱讀 8132

以 .net core 3.0重新打包加入gdiplus為例

1 從dockerhub拉取指定映象

docker pull [images]:[version]

此處,我用dockerfile拉取的,我的命令

2 檢視映象資訊列表

docker images

映象是靜態的,得到映象id,880d85db3775

1 將映象執行起來

後台啟動docker,並指定宿主機埠和docker對映埠。

docker run -p 8000:80 -tdi --privileged [imageid] [command]

-i:以互動模式執行容器,通常與 -t 同時使用;

-d:後台執行容器,並返回容器id;

-t:為容器重新分配乙個偽輸入終端,通常與 -i 同時使用;

--privileged 容器將擁有訪問主機所有裝置的許可權

通常情況下 [command] 填下 /bin/bash 即可。

特殊情況下,如需要在centos映象中使用systemctl,則應新增--privileged 並設定[command ]為 init。

我的命令

docker run -p 9699:80 -tdi --privileged 880d85db3775 /bin/bash

2 檢視執行中的所有容器,得到容器id為

docker ps -a

3 當映象通過run 啟動後,便會載入到乙個動態的container(容器)中執行,此時若需要進入終端互動模式:

sudo docker exec -it [containerid] /bin/bash

互動模式中,使用ctrl+p+q退出互動 保持執行,使用 exit命令退出並停止容器。

我的命令,在docker內安裝gdiplus,安裝後退出互動

sudo docker exec -it 12b89974bc2b /bin/bash

apt-get update && apt-get install -y libgdiplus libc6-dev && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll

4 在容器非互動模式下,通過命令來啟動/停止已部署的容器服務。

docker start/stop

5 刪除容器

docker rm [containerid]

6 刪除映象

docker rmi [imageid]

7 將宿主機內的指定檔案傳輸至容器內部的指定位址

docker cp [yourhostfilepath] [containerid]:[dockerpath]

1 將修改後的容器重新打包成映象

docker commit [containerid] [imagename]:[version]

我的命令,打包後並檢視

docker commit 12b89974bc2b wscore3:v1

docker images

將容器儲存為新的映象,並新增提交人資訊和說明資訊。

docker commit -a "ws" -m "wscore3v1" 12b89974bc2b wscore3:v1

引數說明

-a :提交的映象作者;

-c :使用dockerfile指令來建立映象;

-m :提交時的說明文字;

-p :在commit時,將容器暫停。

3 提交映象到雲倉庫

docker push [imageid] [repertory_address]

docker常用命令大全

.net core 操作在 linux/docker 下的坑

docker打包映象

seed為專案名稱 在dockerfile檔案末尾加上 env tz asia shanghai run ln snf usr share zoneinfo tz etc localtime echo tz etc timezone 將打包好的jar和dockerfile放在同一級目錄下 docke...

程式打包docker映象

1.在程式目錄下寫好dockerfile檔案 dockerfile內容 獲取最新基礎映象 from alpine latest 在映象中建立程式存放資料夾 run mkdir p home api 把宿主機當前資料夾裡所有東西拷貝到映象中 copy home api 設定容器執行時預設的啟動目錄 w...

使用docker打包映象

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的映象中,然後發布到任何流行的 linux或windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。關於安裝教程不做介紹,需要的朋友自己搜一下吧。你可以從docker庫中拉取基礎...