【腾讯云的1001种玩法】Docker 部署dotnetcore

导语 大家一起来学习docker, dotnetcore

安装docker

系统还是之前centos 7.1

 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-engine
systemctl enable docker.service
systemctl start docker

测试

docker run --rm hello-world

会显示Hello from Docker!

部署程序

案例还是用 之前的 dotnetcore+angular2 的示例项目 ,详情参考:《centos 7部署 dotnetcore+Angular2 实践》

拷贝到另一个文件夹

cp acore/*  dockerapp

创建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"]

构建Image

docker build -t dockerapp:1.0 .

(不要漏了后面一个点)

构建完成后就可以用 docker image 查看了

运行容器

docker run --name dockerapp -d -p 8000:4000 dockerapp:1.0

指定容器名称,指定端口资源映射, 还可以指定磁盘映射

使用 docker ps -a 查看运行的容器

显示在运行中

访问一下 我们部署的dotnetcore 程序

配置Nginx

这次映射的docker端口

重启nginx

service nginx restart

成果

外部浏览器访问结果: (该页面我特别在上面加一个div区分旧项目)

相关推荐

Docker 使用指南 (一)—— 基本操作

【腾讯云的1001种玩法】centos 7部署 dotnetcore+Angular2 实践

如何构建docker镜像

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Web项目聚集地

Linux养成计划(五)

非必需时尽量少用root用户登陆,因为它是系统的超级管理员,这里的系统管理员root和Windows中的administrator还不一样,Linux中的roo...

831
来自专栏緣來來來

申请Let's Encrypt通配符证书

Let's Encrypt支持通配符证书了,也就是说你只需要为你的网站申请*.example.com这样一个证书,所有的子域名都可以支持,下面介绍下申请方法:

612
来自专栏深度学习之tensorflow实战篇

下载和安装R、RStudio !~~~

现如今,R语言是统计领域广泛使用的工具,是属于GNU系统的一个自由、免费、源代码开放的软件,是用于统计计算和统计绘图的优秀工具。而RStudio是R的集成开发环...

3175
来自专栏建站达人

如何搭建 nginx 静态网站

Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。Nginx不采用每客户机一线程的设计模型,而是...

1723
来自专栏菩提树下的杨过

javascript: 带分组数据的Table表头排序

接上回继续,项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local)、(开发小组内自测的)开发环境(dev)、(提供给测试团队的)测...

19710
来自专栏菩提树下的杨过

Spring JDBCTemplate使用JNDI数据源

接上回继续,项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local)、(开发小组内自测的)开发环境(dev)、(提供给测试团队的)测...

18610
来自专栏Python小屋

使用Python判断文件是否为PE文件

PE的全称是Portable Executable,指可移植的可执行文件,目前的最新版本是2013年2月6日发布的8.3版。PE文件包括exe文件、com文件、...

2669
来自专栏菩提树下的杨过

maven学习(下)利用Profile构建不同环境的部署包

接上回继续,项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local)、(开发小组内自测的)开发环境(dev)、(提供给测试团队的)测...

1738
来自专栏散尽浮华

Maven私服Nexus3.x环境构建操作记录

Maven介绍 Apache Maven是一个创新的软件项目管理和综合工具。 Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从...

33310
来自专栏运维一切

MFS+DOCKER的文件挂载问题 原

mfs在本地挂载如下 mfsmount /mnt -H ip -P port -S / 这样本地就有一个/mnt的mfs目录了 但是使用docker ru...

671

扫码关注云+社区