docker系列<三>部署.netcore项目
一、部署步骤
-
asp.net core项目
-
Dockerfile文件
- 准备.net core sdk 和 asp.net core运行时
二、详细步骤
1、创建一个基于.net6的webapi项目
2、右键给api添加Dockerfile文件,选择linux版本。
3、添加完成后,会弹出一个需要安装docker Desktop进行本地调试的框框,直接点否就可以了
4、把它的dockerfile文件拉下来看一下
- FROM 指定基础镜像构建
- 写法:FROM 指定基础镜像(FROM是必备的指令,并且必须为第一条指令)
- COPY 复制命令。从上下文目录中复制文件或者目录到容器里指定路径。
-
写法:COPY 源路径,目标路径 、 COPY ["源路径","目标路径"]
-
-
RUN运行指令。构建的时候运行的指令.
- 写法:RUN shell命令 参数1 参数2
- CMD运行指令。运行容器时候运行的指令
- 写法 :CMD <shell 命令> 、 CMD ["<可执行文件或命令>","<param1>","<param2>",...]
- ENTRYPOINT: 入口点。
- 写法:ENTRYPOINT ["<executeable>","<param1>","<param2>",...]
- EXPOSE:暴露端口指令
- 写法:EXPOSE 端口
-
WORKDIR:工作目录指令用于应用在容器内的工作目录
-
写法:WORKDIR <工作目录路径>
-
5、将项目移动到远程centos中
- 先把项目工程源代码压缩成压缩包
- 用xshell远程主机在远程主机上创建一个DockerTest的工作目录。
- 点开xftp,将工程文件拖到刚才建立的DockerTest中,并将项目中的dockerfile单独拉到当前文件夹下
6、 执行docker命令生成镜像
docker build -t dockerapitest .
build --构建
-t --后面跟镜像名字
. --dockerfile文件的当前路径
7、构建镜像完成后,查看生成的镜像
docker images
8、 执行运行命令生成容器,成功后悔返回一个容器的编号
docker run -d -P dockerapitest
9、查看容器
docker ps -a
10、可以看到容器的指向80端口的映射端口是32769。我们在外网访问一下。
11、以上docker最基础的部署.netcore 项目已经完成。总结就是