运行结果截图:

操作流程:

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 第一步的更多相关文章

  1. 开发thinkphp的第一步就是给Application目录(不包括其下的文件)777权限, 关闭selinux

    开发thinkphp的时候, 总是会出现各种个样 的奇怪的毛病, 比如: 说什么Application目录不可写, 比如: 说什么 _STORAGE_WRITE_ERROR, 不能生成 Runtime ...

  2. ElasticSearch第一步-环境配置

    ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSearch第四步-查询详解 Elasti ...

  3. Scala的第一步

    第一步:学习使用Scala解释器 开始Scala最简单的方法是使用Scala解释器,它是一个编写Scala表达式和程序的交互式“shell”.在使用Scala之前需要安装Scala,可以参考 Firs ...

  4. UE4蓝图编程的第一步

    认识UE4蓝图中颜色与变量类型: UE4中各个颜色对应着不同的变量,连接点和连线的颜色都在表示此处是什么类型的变量.对于初学者来说一开始看到那么多连接点, 可能会很茫然,搞不清还怎么连,如果知道了颜色 ...

  5. STM32F407第一步之点亮LED

    STM32F407第一步之点亮LED. 要点亮LED,首先了解一下F4的GPIO模块.首先看一下STM32F4数据手册,GPIO模块的内部结构图 看上去有点复杂,不要怕,慢慢理解就可以了.对外引脚那里 ...

  6. 重制AdvanceWars第一步 -- 搞定地图

    首先来聊下高级战争吧Advance Wars,由任天堂旗下的Intelligent Systems开发的战棋游戏.初作诞生于GBA上,后来继续跟进了高战2黑洞崛,而后在下一代掌机DS上也出了三代续作高 ...

  7. 高德携手阿里云发布“LBS云”,账户打通只是第一步

    位置.游戏.视频,是公认的基于云计算的三大移动端应用方向.而今,LBS云有了更多进展,在高价值应用与云平台之间实现了资源打通和融合,高德迈出了实质性的一步. 高德地图副总裁郄建军(左)与阿里云业务总经 ...

  8. 005.TCP--拼接TCP头部IP头部,实现TCP三次握手的第一步(Linux,原始套接字)

    一.目的: 自己拼接IP头,TCP头,计算效验和,将生成的报文用原始套接字发送出去. 若使用tcpdump能监听有对方服务器的包回应,则证明TCP报文是正确的! 二.数据结构: TCP首部结构图: s ...

  9. Theano2.1.2-基础知识之第一步:代数

    来自:http://deeplearning.net/software/theano/tutorial/adding.html Baby Steps - Algebra 一.两个标量相加 在学习the ...

随机推荐

  1. vue 子组件把数据传递给父组件

    <div id="app"> <child v-on:drop='parent'></child> //这里v-on:drop="pa ...

  2. Android 遍历全国地区位置(一)

    1.布局 choose_area.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...

  3. 在jenkins和sonar中集成jacoco(二)--在jenkins中生成jacoco覆盖率报告

    先要在jenkins上安装jacoco的插件,安装完成之后在job的配置项中可以增加这个选项: 第一个录入框是你的覆盖率文件(exec),第二个是class文件目录,第三个是源代码文件目录. 配置好了 ...

  4. <NET CLR via c# 第4版>笔记 第7章 常量和字段

    7.1 常量 常量 是值从不变化的符号.定义常量符号时,它的值必须能够在编译时确定. 只能定义编译器识别的基元类型的常量,如果是非基元类型,需把值设为null. 常量的值直接嵌入代码,所以不能获取常量 ...

  5. iOS-----使用GCD实现多线程

    使用GCD实现多线程 GCD的两个核心概念如下: 队列 队列负责管理开发者提交的任务,GCD队列始终以FIFO(先进先出)的方式来处理任务---但 由于任务的执行时间并不相同,因此先处理的任务并一定先 ...

  6. HDU2874Connections between cities( LCA )Tarjan

    Problem Description After World War X, a lot of cities have been seriously damaged, and we need to r ...

  7. java利用freemarker导出world

    一.简单导出(不含循环导出) 1.新建一个word文件.如下图: 2.使用word将文件另存为xml的格式 3.编辑xml文件内容,将'用户名'替换成-> ${username}.'简介'替换成 ...

  8. [UOJ46][清华集训2014]玄学

    uoj description 给出\(n\)个变换,第\(i\)个变换是将区间中\(l_i,r_i\)的数\(x\)变成\((a_ix+b_i)\mod m\). 每次会新增一个变换,或者查询询问如 ...

  9. ETA6093 或 ETA9741 ETA9742 的 TYPE-C 的资料收集

    ETA6093 或 ETA9741 ETA9742 的 TYPE-C 的资料收集 因为项目使用. 这个 IC 好玩,但是还是有一些需要注意的. 对我有用的信息. http://www.great-et ...

  10. 静态链接ffmpeg库注意的问题(转)

    1. 最近使用ffmpeg静态库进行链接,提示 undefined reference,排查发现静态库的顺序导致的,静态库对先后顺序有严格要求 2. 使用ffmpeg库时,在链接时,需要加上-lm - ...