Docker 部署dotnetcore
安裝docker
系統(tǒng)還是之前centos 7.1
https://www.docker.com/products/docker#/linux
yum update?創(chuàng)建源:
/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?測(cè)試
docker run --rm hello-world?會(huì)顯示Hello from Docker!
部署程序
案例還是用 之前的 dotnetcore+angular2 的示例項(xiàng)目 ,詳情參考:
拷貝到另一個(gè)文件夾
http://km.oa.com/articles/show/303950
cp acore/* ?dockerapp?(1)創(chuàng)建Dockerfile
備注: 這里有兩個(gè)坑
1.因?yàn)槌绦蚴腔赿otnet1.0.1 所以必須用 microsoft/dotnet:1.0.1-core;我開始創(chuàng)建的時(shí)候 用的1.0.0,當(dāng)容器運(yùn)行的時(shí)候 就變成Exit(131), 這時(shí)候用 ?docker logs [container] ?可以顯示容器運(yùn)行的時(shí)候輸出的日志. 然后修正dockerfile 基于image就ok了;
2.鏡像里面監(jiān)聽0.0.0.0 ?, 不然在curl 外部訪問出現(xiàn)錯(cuò)誤: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)構(gòu)建Image?
docker build -t dockerapp:1.0 .?(不要漏了后面一個(gè)點(diǎn))
構(gòu)建完成后就可以用 docker image 查看了
(3) 運(yùn)行容器
?指定容器名稱,指定端口資源映射, 還可以指定磁盤映射
使用 docker ps -a 查看運(yùn)行的容器
顯示在運(yùn)行中
訪問一下 我們部署的dotnetcore 程序
(4)配置Nginx
這次映射的docker端口
重啟nginx ?
service nginx restart
(5)成果
外部瀏覽器訪問結(jié)果: (該頁面我特別在上面加一個(gè)div區(qū)分舊項(xiàng)目)
原文地址: https://www.qcloud.com/community/article/240
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的Docker 部署dotnetcore的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core服务器综述
- 下一篇: Supervisor 守护 dotnet