前提條件
- 一臺centos 8.0 版本以上的linux系統(tǒng),建議用百度的云服務器;不僅可以反復重裝,還可以重裝其它的操作系統(tǒng);主要是對新用戶還便宜;實在不想花錢,那就自己在虛擬機中裝一個centos
- vs做一個web core的項目,有docker支持的那種(建議vs2022);我用的.net6
- 準備Xshell
準備一個core項目,使用vs自帶的docker打包
-
launchSettings.json文件配置的端口保持一致
-
讓Swagger在docker部署中能順利跑起來,不走判斷邏輯
-
給.net core程序默認指定啟動端口
-
添加docker支持
-
在程序中找到Dockerfile文件(用來生成鏡像的),做一些修改;防止做成鏡像時找不到文件
-
修改Dockerfile文件屬性,保證發(fā)布的時候能跟隨一起發(fā)布出去
-
發(fā)布到文件夾
假如你選擇docker支持的時候不小心安裝了Docker Desktop;還可以簡單的先部署到本地docker中
- 生成鏡像別名
docker build -t xxx鏡像名稱 . #這里要特別注意生成鏡像取別名的時候一定要加 .
打包結束
Docker Desktop中會出現我們打包的鏡像
- 生成容器并啟動程序
docker run -d -p 5000:88 --name api2023 orderapi
生成成功
啟動效果
啟動輸出
- 訪問網站
發(fā)布到centos
- 使用Xshell訪問centos
- 安裝docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 安裝后查看安裝狀態(tài)
systemctl status docker
- 啟用docker
systemctl start docker
-
部署.net core項目,先把文件上傳到服務器;不過我把默認端口改成89了
-
解壓文件
-
生成docker鏡像
docker build -t xxx鏡像名 .
文章來源:http://www.zghlxwxcb.cn/news/detail-489383.html
- 生成docker容器并啟動程序
docker run --name api20230615 -p 50001:89 netapi20230615
docker run -d -p 50001:89 --name api20230615 netapi20230615
#api20230615 指容器名
#netapi20230615 指鏡像名
#5001指公網端口
#89指centos系統(tǒng)對內端口
文章來源地址http://www.zghlxwxcb.cn/news/detail-489383.html
- 關閉防火墻
systemctl stop firewalld
- 百度云添加防火墻規(guī)則
- 使用外網ip地址加端口訪問程序
docker常用命令
docker ps #查看所有運行的容器狀態(tài)
docker ps -a #查看所有容器的狀態(tài)
docker images #查看所有的鏡像
docker start xxx容器名或容器id #啟動容器
docker stop xxx容器名或容器id #關閉容器
docker stop -t=60 xxx容器名或容器id #參數 -t:關閉容器的限時,如果超時未能關閉則用kill強制關閉,默認值10s,這個時間用于容器的自己保存狀態(tài)
docker kill xxx容器名或容器id #直接關閉容器
docker rm xxx容器名或容器id #刪除容器;刪除容器之前先停止容器
docker rmi xxx容器名或容器id #刪除鏡像;刪除鏡像之前先刪除容器
到了這里,關于centos系統(tǒng)把.net6 web api部署到docker的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!