docker入坑指南(三)

今天记录一下docker部署.net core的应用程序。
正常的.net core的架构,然后在程序的启动项右键,选择添加-》Docker支持
docker入坑指南(三)
然后可以看到程序目录下有个Docker文件,文件属性选择始终复制
docker入坑指南(三)
然后正常发布程序,在发布路径下就可以看见有Dockerfile。
接下来就是修改Dockerfile文件
docker入坑指南(三)
修改好Dockerfile之后就直接上传到服务器的某个目录下。
登录服务器,首先使用docker pull 拉取基础镜像。docker images可以查看当前的镜像
docker入坑指南(三)
接着进入发布文件的目录,使用docker build 构建定制的镜像,-t 之后是自己的镜像名字。
docker入坑指南(三)
在构建成功之后docker images查看镜像。
最后就开始运行镜像并且启动容器。
命令:docker run -d --name hnmpnsapi -p 9198:9198 -v /HNDataCenter/:/HNDataCenter/ --link postgres_hn:postgres_hn hnmpnapi:latest
命令解析:== -d 代表在后台运行==
–name 之后是容器的名字,自己定义的
-p代表容器外的端口映射到容器内部的端口
-v是挂载目录,这个目录跟Dockerfile的WORKDIR相同,把容器外的目录挂载到容器内的工作目录,这样在修改程序之后不用重新打包镜像,直接使用docker kill -s HUP 容器名字和docker restart 容器名字来重启容器。
– link 连接另外一个容器,这里是连接数据库的容器(postgres_hn是数据库容器名,postgres_hn是连接后的名字,这样的话在appsettings.json中的数据库连接字符串的host使用此名字)
docker入坑指南(三)
命令运行完成之后docker ps可以看到正常运行的容器