Docker 部署dotnetcore
安裝docker
系統還是之前centos 7.1
https://www.docker.com/products/docker#/linux
yum update?創建源:
/etc/yum.repos.d/docker.repo
tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF?yum安裝
yum install docker-enginesystemctl enable docker.service systemctl start docker?測試
docker run --rm hello-world?會顯示Hello from Docker!
部署程序
案例還是用 之前的 dotnetcore+angular2 的示例項目 ,詳情參考:
拷貝到另一個文件夾
http://km.oa.com/articles/show/303950
cp acore/* ?dockerapp?(1)創建Dockerfile
備注: 這里有兩個坑
1.因為程序是基于dotnet1.0.1 所以必須用 microsoft/dotnet:1.0.1-core;我開始創建的時候 用的1.0.0,當容器運行的時候 就變成Exit(131), 這時候用 ?docker logs [container] ?可以顯示容器運行的時候輸出的日志. 然后修正dockerfile 基于image就ok了;
2.鏡像里面監聽0.0.0.0 ?, 不然在curl 外部訪問出現錯誤:Connection reset by peer?
DockerFile 如下:
FROM microsoft/dotnet:1.0.1-core RUN mkdir /app/COPY . /app/WORKDIR ./app EXPOSE 4000#CMD "/bin/bash"CMD ["dotnet", "acore.dll", "--server.urls", "http://0.0.0.0:4000"](2)構建Image?
docker build -t dockerapp:1.0 .?(不要漏了后面一個點)
構建完成后就可以用 docker image 查看了
(3) 運行容器
?指定容器名稱,指定端口資源映射, 還可以指定磁盤映射
使用 docker ps -a 查看運行的容器
顯示在運行中
訪問一下 我們部署的dotnetcore 程序
(4)配置Nginx
這次映射的docker端口
重啟nginx ?
service nginx restart
(5)成果
外部瀏覽器訪問結果: (該頁面我特別在上面加一個div區分舊項目)
原文地址: https://www.qcloud.com/community/article/240
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的Docker 部署dotnetcore的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core服务器综述
- 下一篇: Supervisor 守护 dotnet