【Deepin】Docker 部署 Asp .Net Core 3.1 网站

1、将发布的所有文件[Ctrl+C]、[Ctrl+V]复制到/home/rss/Documents

2、创建临时目录

sudo mkdir -p -m 777 [new_directory]

rss@rss-PC:/opt/site/coreTestsudo mkdir -p -m 777 /opt/site/

请输入密码
[sudo] rss 的密码:
验证成功

3、移动文件夹

mv -fiv "[src_directory]" "[dst_directory]"

rss@rss-PC:/opt/site/coreTest$ mv -fiv "/home/rss/Documents/publish" "/opt/site/"

4、进入在Publish文件夹,将文件夹的内容编译成镜像

docker build -t [REPOSITORY] .
docker build -t [REPOSITORY]:[TAG] .

rss@rss-PC:/opt/site/coreTest$ docker build -t web_api_core_1 .
Sending build context to Docker daemon  62.82MB
Step 1/8 : FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
3.1-buster-slim: Pulling from dotnet/core/aspnet
6ec7b7d162b2: Pull complete 
f48adbf33222: Pull complete 
0caf687f11cc: Pull complete 
31f7e18202e6: Pull complete 
b2b381c9c354: Pull complete 
Digest: sha256:6f8a0dbb114961f86e8831105a9b41d31707b6384e630ed69670af5db18e1974
Status: Downloaded newer image for mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
 ---> 96df76fbb586
Step 2/8 : WORKDIR /web_api_core_1_app
 ---> Running in 257a64d95c25
Removing intermediate container 257a64d95c25
 ---> 7bdd4371ac13
Step 3/8 : EXPOSE 5000
 ---> Running in 42439bec46aa
Removing intermediate container 42439bec46aa
 ---> 30312169f7f3
Step 4/8 : COPY . .
 ---> 95d7135be303
Step 5/8 : ENV ASPNETCORE_URLS http://+:5000
 ---> Running in 8c27d8d4e745
Removing intermediate container 8c27d8d4e745
 ---> 166763f70748
Step 6/8 : ENV TZ=Asia/Shanghai
 ---> Running in 31c947aa8e19
Removing intermediate container 31c947aa8e19
 ---> 26f539be1e9a
Step 7/8 : RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 ---> Running in adc0a1c8c655
Removing intermediate container adc0a1c8c655
 ---> e76f5ea8e70d
Step 8/8 : ENTRYPOINT ["dotnet", "web_api_core_1.dll"]
 ---> Running in 9e45cfa7c176
Removing intermediate container 9e45cfa7c176
 ---> 0e76f5d7d451
Successfully built 0e76f5d7d451
Successfully tagged web_api_core_1:latest

5、查看Docker 仓储中的镜像列表

rss@rss-PC:/opt/site/coreTest$ docker images
REPOSITORY                             TAG               IMAGE ID       CREATED              SIZE
web_api_core_1                         latest            0e76f5d7d451   About a minute ago   270MB
mcr.microsoft.com/dotnet/core/aspnet   3.1-buster-slim   96df76fbb586   2 weeks ago          207MB
hello-world                            latest            bf756fb1ae65   12 months ago        13.3kB

6、运行镜像并暴露端口5001

docker run --name [NAMES] -p [DST_PORT]:[SRC_PORT] -d [REPOSITORY]:[TAG]

rss@rss-PC:/opt/site/coreTest$ docker run --name web_api_core_1 -d -p 5001:5000 web_api_core_1:latest
437aba5e34a89a8944925b49389d5bc7255b7b0885a651ef2af85659c2703645
rss@rss-PC:/opt/site/coreTest$

7、显示所有的容器,包括未运行的

docker ps -a

rss@rss-PC:/opt/site/coreTest$ docker ps -a

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS                   PORTS                    NAMES
437aba5e34a8   web_api_core_1:latest   "dotnet web_api_core…"   17 minutes ago   Up 3 seconds             0.0.0.0:5001->5000/tcp   web_api_core_1
42c2ec58d70f   hello-world             "/hello"                 3 hours ago      Exited (0) 3 hours ago                            hungry_thompson
20b79ffad0cb   hello-world             "/hello"                 2 days ago       Exited (0) 2 days ago                             elated_kirch
8309727502f8   hello-world             "/hello"                 3 days ago       Exited (0) 3 days ago                             dreamy_sammet

8、查看完整的COMMAND

注:如果导出容器中的镜像,请记住此容器的完整的COMMAND

docker ps -a --no-trunc

rss@rss-PC:/opt/site/coreTestdocker ps -a --no-trunc
CONTAINER ID                                                       IMAGE         COMMAND                       CREATED          STATUS                    PORTS                    NAMES
a9c18bf92ee0db3500810be111bc785c6eba565ed2973bee83506ce4b16edb06   coretest      "dotnet web_api_core_1.dll"   20 seconds ago   Up 18 seconds             0.0.0.0:5001->5000/tcp   imcoretest
42c2ec58d70ff1ccc7f110557b17abd049e519d3fed7cb7efce3b0e5aa7b2900   hello-world   "/hello"                      23 hours ago     Exited (0) 23 hours ago                            hungry_thompson
20b79ffad0cb81b92a948aacb2abd9ca9627744d5efadda03849180689044fe5   hello-world   "/hello"                      3 days ago       Exited (0) 3 days ago                              elated_kirch
8309727502f86314d00cc1a48b7c76f86438c026b17ca01cf0a7bf8c86821228   hello-world   "/hello"                      4 days ago       Exited (0) 4 days ago                              dreamy_sammet

9、显示正在运行的容器

docker ps

rss@rss-PC:/opt/site/coreTest$ docker ps

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS          PORTS                    NAMES
437aba5e34a8   web_api_core_1:latest   "dotnet web_api_core…"   18 minutes ago   Up 42 seconds   0.0.0.0:5001->5000/tcp   web_api_core_1

10、停止的容器

docker stop [CONTAINER ID]

rss@rss-PC:/opt/site/coreTest$ docker stop 437aba5e34a8

437aba5e34a8

11、重新启动已停止的容器

docker restart [CONTAINER ID]

rss@rss-PC:/opt/site/coreTest$ docker restart 437aba5e34a8
437aba5e34a8

12、删除容器

docker rm -f [CONTAINER ID]

rss@rss-PC:/opt/site/coreTest$ docker rm -f 437aba5e34a8
437aba5e34a8
rss@rss-PC:/opt/site/coreTest$ docker ps -a
CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
42c2ec58d70f   hello-world   "/hello"   3 hours ago   Exited (0) 3 hours ago             hungry_thompson
20b79ffad0cb   hello-world   "/hello"   2 days ago    Exited (0) 2 days ago              elated_kirch
8309727502f8   hello-world   "/hello"   3 days ago    Exited (0) 3 days ago              dreamy_sammet
rss@rss-PC:/opt/site/coreTest$

13、删除镜像

docker rmi [IMAGE ID]
docker rmi [REPOSITORY]:[TAG]
docker image rm [IMAGE ID]
docker image rm [REPOSITORY]:[TAG]
docker rmi [IMAGE ID1] [IMAGE ID2] [IMAGE ID3] ...

-f, -force: 强制删除镜像,即便有容器引用该镜像;
-no-prune: 不要删除未带标签的父镜像;

 

rss@rss-PC:/opt/site/coreTest$ docker images
REPOSITORY                             TAG               IMAGE ID       CREATED          SIZE
<none>                                 <none>            2f3be0cd84c9   45 seconds ago   268MB
deepin                                 web_api_core_1    d7b4a2649350   3 minutes ago    268MB

rss@rss-PC:/opt/site/coreTest$ docker rmi 2f3be0cd84c9
Deleted: sha256:2f3be0cd84c9dfaba14896bc332d9a90382b1cb1a2d7ba4f7e35436100fde470

14、导出镜像

注:如果导出容器中的镜像,请记住此容器的完整的COMMAND

docker export [CONTAINER ID] > [directory]/[filename]

rss@rss-PC:/opt/site/coreTest$ docker export ef51b3014b54 > /home/rss/Documents/deepinapicore.tar
rss@rss-PC:/opt/site/coreTest$

15、导入镜像

docker import [directory]/[filename] [REPOSITORY]:[TAG]

rss@rss-PC:/opt/site/coreTest$ docker import /home/rss/Documents/deepinapicore.tar wac1:1.0-first
sha256:f2b94086b1a7de33446ea7177d8f56a269c9aa5a0b9098fafd3f24bfd5a6b4a5
rss@rss-PC:/opt/site/coreTest$ docker images
REPOSITORY                             TAG               IMAGE ID       CREATED         SIZE
wac1                                   1.0-first         f2b94086b1a7   5 seconds ago   268MB
mcr.microsoft.com/dotnet/core/aspnet   3.1-buster-slim   96df76fbb586   2 weeks ago     207MB
hello-world                            latest            bf756fb1ae65   12 months ago   13.3kB

16、运行导入的镜像

docker run --name [NAMES] -p [DST_PORT]:[SRC_PORT] -d [REPOSITORY]:[TAG] [COMMAND]

rss@rss-PC:/opt/site/coreTest$ docker run --name ximp-core-test -p 5001:5000 -d imp-core-test:1.0 dotnet web_api_core_1.dll
38da5d5e1bca9af40baa88e5d6609c62d5e1b8f983321704f131bab5609ab283
rss@rss-PC:/opt/site/coreTest

Error response from daemon: No command specified.

在启动命令最后添加导出容器的COMMAND ,如:dotnet web_api_core_1.dll

rss@rss-PC:/opt/site/coreTest docker run --name ximp-core-test -p 5001:5000 -d imp-core-test:1.0
docker: Error response from daemon: No command specified.
See 'docker run --help'.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值