1.代码中新建一个dockerfile容器文件。 下面是容器代码,9527是容器的端口。
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base WORKDIR /app EXPOSE 9527 COPY . . ENTRYPOINT ["dotnet", "myapidemo.dll"]
2.代码中program.cs需要处理一下端口。
新建个json文件:host.json
打包发布后放到centos目录下即可。
3.构建镜像,镜像发布容器。前提是安装好docker。园子里很多教程可以去搜一下。
# 进入程序的发布文件目录,这个目录是发布后的代码,存放到centos的路径 cd /home/docker_core
# 首先构建成镜像 # -t 指定镜像名(必须小写,可以冒号指定标签如webappimg) # . 表示Dockerfile所在目录(PS:注意最后的 点) docker build -t webappimg .
# 查看镜像 docker images
# 然后镜像发布为容器 # --name 指定容器名称 # -d 指定容器后台运行 # -p 主机(宿主)端口:容器端口(容器端口映射到主机(宿主)端口 ) # webappimg镜像名 docker run --name webappdocker -d -p 8899:9527 webappimg
本地就可以直接用ip+端口(8899)访问了。例如:10.100.101.129:8899/exp
Docker相关命令
# 查看所有容器运行状态 docker ps -a docker ps --all # 查看docker状态 systemctl status docker # 重启docker systemctl restart docker # 删除容器 docker rm [CONTAINER_ID] # 停用全部运行中的容器 docker stop $(docker ps -q) # 删除所有容器(要先停用才能删除) docker rm $(docker ps -aq) # 查看镜像 docker images # 删除镜像 docker rmi [IMAGE_ID] # 删除所有镜像 docker rmi $(docker images -aq) # 查看容器日志 docker logs -f [CONTAINER_ID] # 容器内访问 docker exec -t webapp_v1 curl -L localhost/home/index # 进入容器 docker exec -it [CONTAINER_ID] bash # 查看容器所有状态信息 docker inspect [CONTAINER_ID] # 查看容器ip地址 docker inspect --format='{{.NetworkSettings.IPAddress}}' [CONTAINER_ID]
参考:
CentOS下使用Docker方式部署.NetCore-CSDN博客
centos 7 使用 docker 部署.net core 项目 - 温故纳新 - 博客园 (cnblogs.com)
标签:容器,CONTAINER,netcore,部署,端口,镜像,docker,ID From: https://www.cnblogs.com/wangxlei/p/18259142