1. 程式人生 > 資訊 >華碩靈耀 14 2022 水墨藍筆記本今晚開賣:i7-1260P + 2.8K 90Hz 屏,5999 元

華碩靈耀 14 2022 水墨藍筆記本今晚開賣:i7-1260P + 2.8K 90Hz 屏,5999 元

 

Docker使用

 

3.5 Docker映象使用

可以使用 docker images 來列出本地主機上的映象

 

 

 

各個選項說明:

l REPOSITORY:表示映象的倉庫源

l TAG:映象的標籤

l IMAGE ID:映象ID

l CREATED:映象建立時間

l SIZE:映象大小

 

同一倉庫源可以有多個 TAG,代表這個倉庫源的不同個版本

當我們在本地主機上使用一個不存在的映象時,Docker 就會自動下載這個映象。如果我們想預先下載這個映象,我們可以使用 docker pull 命令來下載它。

如: 下載mysql,使用docker pull mysql命令。

 

 

 

 

 

 

可以使用 docker search 命令來搜尋映象。

如使用docker search mysql來查詢MySQL映象。

 

 

 

l NAME: 映象倉庫源的名稱

l DESCRIPTION: 映象的描述

l OFFICIAL: 是否 docker 官方釋出

l stars: 類似 Github 裡面的 star,表示點贊、喜歡的意思。

l AUTOMATED: 自動構建。

映象刪除使用 docker rmi 命令,比如刪除MySQL映象:

 

 

 

 

通過Docker看板(Dashboard)刪除image映象

 

 

 

 

3.6 Docker容器使用

1啟動容器

以下命令使用nginx映象啟動一個容器,引數為以命令列模式進入該容器:

docker run --name webserver -p 81:80 -d nginx

引數說明:

l --name webserver:容器名稱。

l -p 81:80: 埠進行對映,將本地 8埠對映到容器內部的 80 埠。

l -d nginx: 設定容器在在後臺一直執行。

 

 

 

 

 

最後我們可以通過瀏覽器可以直接訪問 81 埠的 nginx 服務:

 

 

 

 

 

使用下面命令檢視容器:

docker ps

 

 

 

 

也可以通過Docker看板(Dashboard)來檢視:

 

 

 

2)停止容器

使用下面命令可以停止容器:

docker stop webserver

 

 

 

看板顯示如下:

 

 

 

 

也可以通過看板來啟動容器

 

 

 

 

 

 

 

 

 

 

 

2)刪除容器

使用下面命令可以刪除容器:

docker rm webserver

 

 

 

 

也可以通過看板啟動,停止,刪除容器。

 

 

 

 

3.8 Docker映象的匯入、匯出

docker 提供把映象匯出export(儲存save)為檔案的機制,這樣就可以把映象copy到任意地方了。

  1. 列出映象

docker images

 

 

 

2.匯出映象

docker save -o <儲存路徑> <映象名稱:標籤>

執行下面命令:

docker save -o  ./webapi4.tar webapi4

如把webapi4 匯出到當前資料夾,

 

 

 

 

 

 

 

3.匯入映象

使用load命令匯入。

docker load --input ./webapi4.tar

刪除映象webapi4,匯入映象。

 

 

 

 

 

 

 

 

 

3.9 Docker容器的匯入、匯出

Linux容器下

使用export匯出容器,匯出容器命令格式:

docker export <容器名> > <儲存路徑>

 

如果匯出容器正在執行的webapi5容器,先停止,再匯出。命令如下:

docker stop  WebApi5

docker export WebApi5 > ./WebApi5.tar

1.匯入容器

匯入容器的命令:

docker import <檔案路徑>  <容器名>

把當前資料夾下的WebApi5.tar檔案拷貝到其他機上,在機器機上執行:

docker import ./WebApi5.tar WebApi5

 

再啟動此容器即可。

 

Windows容器下

 

停止容器也可以不停止,只要下一步commit成功即可

將容器commit為映象

 docker commit WebApi5 webapi5image

 

 

 

 

 

 

 

再把映象匯出,匯入,啟動容器即可。

建議

可以依據具體使用場景來選擇命令

若是隻想備份images,使用saveload即可

若是在啟動容器後,容器內容有變化,需要備份,則使用exportimport

 

 

 

3.10 使用BAT自動匯出,匯入

 

cd C:\Users\15481\source\vuedocker\danjian

docker commit WebApi5 webapi5image

docker save -o  ./webapi5.tar webapi5image

docker stop WebApi5

docker rm WebApi5

docker load --input ./webapi5.tar

docker run --name WebApi5 -p 83:80 -d webapi5image

 

 

 

參考:

@echo off:: dotnet 釋出目錄

set publishDir=E:\TEMP\abc\

set codeDir=D:\Source\Webapi

set [email protected]

set port=111111
:: linux 伺服器上的目錄

set projDir=/abc/core

set container=abccore

set image=core_abc:latest

set ymlfile=/abc/core/docker-compose.stage.yml

 

cd /d %codeDir%

dotnet publish -c Release -o %publishDir%if %errorlevel% == 0 (

    pscp -P %port% -r %publishDir% %hostname%:%projDir%

    if %errorlevel% == 0 (

        ssh -p %port% %hostname% "docker stop %container%"

        if %errorlevel% == 0 (

            ssh -p %port% %hostname% "docker rm %container%"

            if %errorlevel% == 0 (

                ssh -p %port% %hostname% "docker rmi %image%"

                if %errorlevel% == 0 (

                    ssh -p %port% %hostname% "docker-compose -f %ymlfile% up -d"

                    if %errorlevel% == 0 (

                       ssh -p %port% %hostname% "rm -rf %projDir%/*"

                    )

                )

            )

        ) else (

            ssh -p %port% %hostname% "docker-compose -f %ymlfile% up -d"

            if %errorlevel% == 0 (

               ssh -p %port% %hostname% "rm -rf %projDir%/*"

            )

        )

    ) else (

        echo upload-error

    )

) else (

    echo publish-error

)

pause>nul