網站首頁 編程語言 正文
此篇文章演示基本的基于docker部署.netcore服務,linux系統騰訊云ubuntu,.net core版本3.1。
1.安裝docker
apt install docker.io
2.拉取.net core依賴鏡像
docker pull mcr.microsoft.com/dotnet/core/aspnet:latest
3.創建.net core3.1項目
選擇docker支持,會生成dockerFile配置文件如圖:
4.編寫dockerfile文件,經刪減后為:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster
WORKDIR /app
EXPOSE 5000
COPY . .
ENTRYPOINT ["dotnet", "MyDockerApi.dll"]
5.發布項目到本地
注意下,dockerFile文件一定要帶過來,接下來,將所有文件,壓縮成zip包。。最好是zip,不然linux解壓很麻煩
6.在linux系統根目錄
新建(mkdir)project文件夾,進入(cd)project文件夾,繼續新建myDockerApi文件夾,然后進入。
7.上傳剛才的zip壓縮包,并解壓
上傳命令:rz -y,本地選擇,上傳進來,解壓命令:unzip -o MyDockerApi.zip
8.鏡像打包
docker build -t my1api . 注意最后有一個.,
9.創建基于該鏡像的docker容器,并啟動
命令:docker run --name API8082 -p 8081:5000 my1api ,參數解讀:
--name xxxxx:容器名字
8081:將liunx端口分配給該容器的端口
:5000:將物理機端口映射到docker程序的啟動端口
my1api:使用的鏡像名稱
可以看到,服務已經起來了,這時候,如果外部想要訪問服務,需要在騰訊云防火墻新增出站端口8081
這時候,訪問服務接口:
使用命令,列出當前所有容器,狀態等等:
docker container ls -a
容器的啟動/停止命令:
docker start API8082(容器名稱/ID)
docker stop API8082(容器名稱/ID)
10.如果代碼更新了,怎么辦
(1)將更新好的代碼上傳
(2)重新build鏡像
(3)停止docker容器
(4)刪除docker容器 docker rm 容器名稱/ID
(5)重新創建容器并啟動 docker run --name API8082 -p 8081:5000 my1api
原文鏈接:https://www.cnblogs.com/saltlight-wangchao/archive/2022/09/01/16646005.html
相關推薦
- 2022-10-14 composer -vvv 命令
- 2022-10-26 Python?Pyinstaller庫安裝步驟以及使用方法_python
- 2022-09-30 Python?添加命令行參數步驟_python
- 2022-06-01 Apache?Tomcat如何高并發處理請求_Tomcat
- 2022-04-16 pycharm全局修改方式_python
- 2022-08-18 Python壓縮包處理模塊zipfile和py7zr操作代碼_python
- 2021-12-18 C/C++?Qt?數據庫與TreeView組件綁定詳解_C 語言
- 2022-05-06 mac goland 常用快捷鍵
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支