1、将发布的所有文件[Ctrl+C]、[Ctrl+V]复制到/home/rss/Documents
2、创建临时目录
sudo mkdir -p -m 777 [new_directory]
rss@rss-PC:/opt/site/coreTest$ sudo 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/coreTest$ docker 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'.