eShopOnContainer 第一步
运行结果截图:
操作流程:
1. git上clone 项目
2. windows版的docker并且安装成功,配置3核CPU,4G内存
3. vs 2017 (15.5)版本以上。
4. 打开项目 eshopOnContainer.ServiceAndMvc
5. 设置docker-compose 为启动项目
6. 点击运行,就行了。
说一下自己遇到的坑:
配置镜像加速器的时候,阿里云的加速地址没有生效,特别慢,后来改为DaoCloud的加速地址就快很多了
报端口 6379 被占用,我以为第一次启动没有成功,运行的容器把端口给占用了,结果删除掉所有运行的容器,再次启动依旧报端口占用的错误。后来经过排查是我本机装的有redis-server
然后和项目中依赖的redis 容器启启动时 导致端口占用冲突。把进程redis-server.exe 停用掉就可以了。
附加知识:
windows 中查看端口占用情况: netstat -ano |findstr 6379
返回的最后一个参数是进程的PID
查看所有的进程列表: tasklist
2018-01-08 更新
替换掉eshop 的redis
问题是这样的由于昨天第一次跑eshop,报端口占用的问题。于是把redis进程给干掉了。今天发现开发环境的项目跑不起来了。查看日志是redis没有启动的原因。于是又把redis手动启动起来了。
今天晚上又想跑eshop,于是想不能把redis进程再给干掉,然后明天再重启。
后台仔细一想:eshop用的redis 和本地装的redis端口是用的同一个端口,于是想把eshop中用的redis,用本机装的redis给替换掉。一不做,二不休,于是动起手来了。
主要修改如下:
docker-compose.yml
文件
删除掉redis容器服务
basket.data:
image: redis
ports:
- "6379:6379"
删除掉依赖该service的引用(只有basket.api引用该服务)
basket.api:
image: eshop/basket.api:${TAG:-latest}
build:
context: ./src/Services/Basket/Basket.API
dockerfile: Dockerfile
depends_on:
- basket.data
- identity.api
- rabbitmq
删除掉- basket.data
即可。再次完美运行。目前没有发现问题。
eShopOnContainer 第一步的更多相关文章
- 开发thinkphp的第一步就是给Application目录(不包括其下的文件)777权限, 关闭selinux
开发thinkphp的时候, 总是会出现各种个样 的奇怪的毛病, 比如: 说什么Application目录不可写, 比如: 说什么 _STORAGE_WRITE_ERROR, 不能生成 Runtime ...
- ElasticSearch第一步-环境配置
ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSearch第四步-查询详解 Elasti ...
- Scala的第一步
第一步:学习使用Scala解释器 开始Scala最简单的方法是使用Scala解释器,它是一个编写Scala表达式和程序的交互式“shell”.在使用Scala之前需要安装Scala,可以参考 Firs ...
- UE4蓝图编程的第一步
认识UE4蓝图中颜色与变量类型: UE4中各个颜色对应着不同的变量,连接点和连线的颜色都在表示此处是什么类型的变量.对于初学者来说一开始看到那么多连接点, 可能会很茫然,搞不清还怎么连,如果知道了颜色 ...
- STM32F407第一步之点亮LED
STM32F407第一步之点亮LED. 要点亮LED,首先了解一下F4的GPIO模块.首先看一下STM32F4数据手册,GPIO模块的内部结构图 看上去有点复杂,不要怕,慢慢理解就可以了.对外引脚那里 ...
- 重制AdvanceWars第一步 -- 搞定地图
首先来聊下高级战争吧Advance Wars,由任天堂旗下的Intelligent Systems开发的战棋游戏.初作诞生于GBA上,后来继续跟进了高战2黑洞崛,而后在下一代掌机DS上也出了三代续作高 ...
- 高德携手阿里云发布“LBS云”,账户打通只是第一步
位置.游戏.视频,是公认的基于云计算的三大移动端应用方向.而今,LBS云有了更多进展,在高价值应用与云平台之间实现了资源打通和融合,高德迈出了实质性的一步. 高德地图副总裁郄建军(左)与阿里云业务总经 ...
- 005.TCP--拼接TCP头部IP头部,实现TCP三次握手的第一步(Linux,原始套接字)
一.目的: 自己拼接IP头,TCP头,计算效验和,将生成的报文用原始套接字发送出去. 若使用tcpdump能监听有对方服务器的包回应,则证明TCP报文是正确的! 二.数据结构: TCP首部结构图: s ...
- Theano2.1.2-基础知识之第一步:代数
来自:http://deeplearning.net/software/theano/tutorial/adding.html Baby Steps - Algebra 一.两个标量相加 在学习the ...
随机推荐
- Lucene Scoring 评分机制
原文出处:http://blog.chenlb.com/2009/08/lucene-scoring-architecture.html Lucene 评分体系/机制(lucene scoring)是 ...
- kmp算法中的next数组实例解释
假设求串′ababaaababaa′的next数组 模式串 a b a b a a a b a b a a 下标 1 2 3 4 5 6 7 8 9 10 11 12 1.前两位:next数组前两位一 ...
- jQuery插件开发——全屏切换插件
这个插件包含三个部分:HTML结构.CSS代码和JS代码. HTML结构是固定的,结构如下: <!--全屏滚动--> <div class="fullpage-contai ...
- L180
The cylinder is a crucial part of the washing machine His debonair dismissal of my inquiry concernin ...
- ps/sql developer 登录远程服务器
Ref PLSQL Developer远程登录的方法
- Map排序(按key排序,按value排序)
主要分两种,按键排序.按值排序. 而且,按key排序主要用于TreeMap,而按value排序则对于Map的子类们都适用. 一.按键排序 按Key排序主要用于TreeMap,可以实现按照Key值的大小 ...
- spring-security-4 (3)spring security过滤器的创建与注册原理
spring security是通过一个过滤器链来保护你的web应用安全.在spring security中,该过滤链的名称为springSecurityFilterChain,类型为FilterCh ...
- python中多进程+协程的使用以及为什么要用它
前面讲了为什么python里推荐用多进程而不是多线程,但是多进程也有其自己的限制:相比线程更加笨重.切换耗时更长,并且在python的多进程下,进程数量不推荐超过CPU核心数(一个进程只有一个GIL, ...
- 使用UNetbootin制作U盘启动
制作Ubuntu系统启动U盘,可以用软碟通UltraISO,也能用UNetbootin这个软件. UNetbootin的好处是有windows客户端,也有Linux的客户端,也就是说可以很方便的在Li ...
- odoo 数据库选择的随笔
odoo 数据库选择的随笔 看到有人讨论 odoo 是否可以使用 SQL Server(MS SQL). 原来 odoo 使用的是 PostgreSQL,PostgreSQL 是很先进的关系性数据库, ...