docker
安裝官網
-
刪除docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
安裝
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
檢視是否安裝成功
sudo systemctl start docker sudo docker run hello-world
-
檢視docker狀態
systemctl status docker
-
設定開機自啟
sudo systemctl enable docker
-
禁止開機自啟
sudo systemctl disable docker
二、建立映象容器(映象可以理解成類,容器可以理解成類的例項化)
-
原始碼建立
-
建立WebApi專案
-
選擇將 解決方案 和 **專案 ** 放到同一個目錄下,點選下一步
-
選擇啟用Docker,點選建立
-
將原始檔直接複製到伺服器,然後進入 進入到解決方案目錄下開始建立映象
-
建立映象
例子:docker -t 名稱:版本號 . docker -t dockerapi:1.0.0 .
-
啟動容器
例子:docker run --name 名稱 -itd --restart unless-stopped -p 外部訪問埠:專案啟動埠 啟動映象 docker run --name docker1.0.0 -it --restart unless-stopped -p 8888:8080 dockerapi:1.0.0
-
瀏覽器訪問
伺服器ip:8888/swagger/weatherforecast
-
-
釋出之後檔案建立
-
建立好webapi專案
-
修改配置檔案,配置埠(appsettings.json)
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "Kestrel": { "Endpoints": { "Http": {"Url": "http://*:8060"} } } }
-
點選發布
-
進入釋出後的資料夾
-
建立dockerfile配置檔案,將下邊內容複製到檔案中,並修改配置(Dockerfile)
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base USER app WORKDIR /app #埠 EXPOSE 8060 FROM base AS final WORKDIR /app COPY . /app #啟動命令(括號中為啟動的專案名稱) ENTRYPOINT ["./LinuxApi"]
-
將釋出後的檔案上傳到伺服器
-
建立映象
例子:docker -t 名稱:版本號 . docker -t linuxapi:1.0.0 .
-
建立容器
例子:docker run --name 名稱 -itd --restart unless-stopped -p 外部訪問埠:專案啟動埠 啟動映象 docker run --name linuxapi1.0.0 -it --restart unless-stopped -p 7777:8060 linuxapi:1.0.0
-
瀏覽器訪問
伺服器ip:7777/swagger/weatherforecas
-
三、其他命令
-
映象
-
建立
例子:docker -t 名稱:版本號 . docker -t linuxapi:1.0.0 .
-
刪除
例子:docker rmi 名稱:版本號 docker rmi linuxapi:1.0.0
-
-
容器
-
建立
例子:docker run --name 名稱 -itd --restart 重啟規則 -p 外部訪問埠:專案啟動埠 啟動映象 docker run --name linuxapi1.0.0 -it --restart unless-stopped -p 7777:8060 linuxapi:1.0.0
-
啟動和停止
docker start linuxapi1.0.0 docker stop linuxapi1.0.0
-
刪除
例子:docker remove 容器id或者容器名稱 docker remove linuxapi1.0.0
-
修改容器 啟動規則(服務掛了之後是否重啟)
docker update --restart=always [container_name_or_id] 1. `no`: 容器不會在Docker守護程序啟動時自動啟動(預設)。 2. `on-failure`: 容器只有在非正常退出時(退出狀態非0)才會重啟。 3. `always`: 無論退出狀態如何,容器總是重新啟動。 4. `unless-stopped`: 在容器退出時,如果容器是由Docker守護程序停止的,就不會重新啟動。 docker update --restart=always linuxapi1.0.0
-