Docker踩坑小记
Docker是一种容器管理技术。
解决头疼问题原则:回归最简单的方式来。确保最初级的方案没有错误。
安装
docker安装很简单,输入官方的命令就可以,但是在安装docker-comopse的过程中遇到下载超级慢的问题,所以需要配置加速器,这里使用了国内的daoclould
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
同时记得的授权:
chmod +x /usr/local/bin/docker-compose
然后下载发现较之前快了很多很多。。。。
Dockerfile
FROM microsoft/dotnet:latest
WORKDIR /app
EXPOSE 8081
WORKDIR /app
COPY . /app
ENTRYPOINT ["dotnet", "momo.dll"]
微软提供的模板中 只是引入了 运行时,但是我在run的时候,docker日志一直提示需要安装sdk,这个让我有点搞不懂。然后查看很多人都是安装了sdk????只好暂时先安装sdk,把项目运行起来,后续恢复到runtime来。 下载完sdk,发现镜像有了1.7GB,要不得要不得
COPY出问题,微软在上面COPY命令行指定的是
COPY --from=publish /app .
因为我们没有publish,所以修改成: COPY . /app
appsettings.json
如果我们连接了镜像的mysql, 记得将连接字符串修改为镜像名
"ConnectionStrings": {
"MySQLConnection": "server=docker.mysql;database=momo;user=root;password=123456;port=3306;persistsecurityinfo=True;"
},
nlog.config
如果是发布到linux系统中,记得修改日志存储位置,因为网上大多数提供的是window版的。修改如下
internalLogFile="Logs\internal-nlog.txt">
此外,将windows-identity去掉,改为no
<property name="UserName" layout="windows-identity" /> ===> <property name="UserName" layout="no" />
nginx.conf
自己用记事本创建的nginx.conf会导致unknown directive错误,原因是文件格式不对,自己copy一个正常的再修改内容即可。
可能是conf文件被记事本编辑过,保存成了含[BOM] 。所以才报错的。这种粘出来保存成utf-8就好了
nginx文件结构配置出错,比如:正确的配置格式是:http{server{}} 如果你配成:http{} server{},就会报错
异常访问Connection reset by peer
这个是很头痛的,因为网上陈述的较少
有时我们用Docker启动了一个http服务,从外部使用curl访问却返回Connection reset by peer错误。这种错误一般是因为服务容器内部并没有监听指定的端口,而docker run时却指定了该端口。进一步的,这种错误往往由于容器内部的服务监听在localhost:port上,只允许本机访问,这样的话容器的端口映射将失败。应该检查容器内部服务监听在0.0.0.0上。
无法访问
基础宿主机和docker容器端口映射成功,也无法访问
解决方法:在Program.cs 中添加.UseUrls("http://*:8081") 内部服务监听在任何IP上。同时dockerfile中暴露的端口也修改为8081.
然后在XShell客户端 curl -i http://localhost:8081
最后
正常访问
Docker踩坑小记的更多相关文章
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- ASP.NET Web 应用 Docker踩坑历程——续
ASP.NET Web 应用 Docker踩坑历程发表后,也开始使用Docker了,然而发布的过程比较痛苦,经常发生下图的事情: 据说是nuget包还原时发生错误 百度了半天也找不到解决的方法,而发生 ...
- Linux Mint安装Docker踩坑指南
我家的服务器选用的Linux Mint系统,最近安装Docker的时候踩了一些小坑,但是总体还算顺利. 我们都知道Linux Mint系统是基于Ubuntu的,说实话用起来感觉还是很不错的,安装Doc ...
- MySql 踩坑小记
MySql 踩坑一时爽,一直踩啊一直爽... 以下记录刚踩的三个坑,emmm... 首先是远程机子上创建表错误(踩第一个坑),于是将本地机器 MySql 版本回退至和远程一致(踩第二个坑),最后在 ...
- dubbo 2.7应用级服务发现踩坑小记
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 背景 本文记录最近一位读者反馈的dubbo 2.7.x中应用级服务发现的问题,关于dubbo应 ...
- async语法升级踩坑小记
从今年过完年回来,三月份开始,就一直在做重构相关的事情. 就在今天刚刚上线了最新一次的重构代码,希望高峰期安好,接近半年的Node.js代码重构. 包含从callback+async.waterfal ...
- docker 踩坑笔记之 psql: could not connect to server
最近在用docker跑rails,也遇到了一些坑,这里记录一下. 首先build项目: docker-compose build 然后就开始报错了: psql: could not connect t ...
- ASP.NET Web 应用 Docker踩坑历程
听说Docker这玩意挺长时间了,新建Web应用的时候,也注意到有个启用Docker的选项. 前两天扫了一眼<[大话云原生]煮饺子与docker.kubernetes之间的关系>,觉得有点 ...
随机推荐
- url传参特殊字符问题(+、%、#等)
这样的话,你传的大多数带特殊符号的参数,都能在后台拿到,但是, url中可能用到的特殊字符及在url中的经过编码后的值:(此表格借鉴) 字符 特殊字符的含义 URL编码 # 用来标志特定的文档 ...
- qt触摸屏隐藏鼠标指针
方法1:运行加参数-nomouse 方法2:QWidget::setCursor(QCursor(Qt::BlankCursor) 例:this->setCursor(Qt::BlankCurr ...
- RestTemplate发送GET请求
import org.springframework.web.client.RestTemplate; @Component @Slf4j public class JsSdkUtil { /** * ...
- ajax+批量下载文件
用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助.此控件PC全平台支持包括mac,li ...
- hdu 5073 Galaxy 数学 铜牌题
0.5 题意:有n(n<=5e4)个质点位于一维直线上,现在你可以任意移动其中k个质点,且移动到任意位置,设移动后的中心为e,求最小的I=(x[1]-e)^2+(x[2]-e)^2+(x[3]- ...
- Postman请求运行顺序及Workflow
作为一款接口调试利器, Postman的更新迭代速度很快, 不断加入了很多新的功能.使的api设计,测试,监控, Mock,以及团队协作更加方便. 修改执行顺序 在遇到有接口依赖的情况, 我们往往需要 ...
- ida 下载
链接:https://pan.baidu.com/s/1Rs2UOSfroBGf_MIkJv0cGw 提取码:kjqd 官网:https://www.hex-rays.com/updida.shtml
- 利用ant 执行jmeter用例生成html格式报告
1.安装ant 2.准备jmeter 及用例文件.jmx 3.编辑ant 执行文件build.xml <?xml version="1.0" encoding="G ...
- codeforces gym #101161H - Witcher Potion(状压DP)
题目链接: http://codeforces.com/gym/101161/attachments 题意: 总共有n瓶药可供选择 每瓶药可以增加$e_i$点体力,和$p_i$点毒性 每分钟消耗1点毒 ...
- JVM GC之垃圾收集算法
1.垃圾收集概念 GC目的 分配内存,为每个新建的对象分配空间 确保还在使用的对象的内存一直还在,不能把有用的空间当垃圾回收了 释放不再使用的对象所占用的空间 我们把还被引用的对象称为活的,把不再被引 ...