核心代码
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY ./entrypoint.sh .
COPY ./WebApplication8 ./WebApplication8
COPY ./WebApplication9 ./WebApplication9
EXPOSE 80
EXPOSE 50001#RUN chmod +x ./entrypoint.sh# 用nohup框起来,不然npm start执行了之后不会执行后面的
#CMD nohup sh -c 'dotnet WebApplication8/WebApplication8.dll & dotnet WebApplication9/WebApplication8.dll'
ENTRYPOINT ["sh","./entrypoint.sh"]

WORKDIR 命令为后续的 RUN、CMD、COPY、ADD 等命令配置工作目录。在设置了 WORKDIR 命令后,接下来的 COPY 和 ADD 命令中的相对路径就是相对于 WORKDIR 指定的路径
entrypoint.sh
dotnet WebApplication8/WebApplication8.dll &
dotnet WebApplication9/WebApplication8.dll

注:entrypoint.sh里面前面的命令以&结尾,表示后台服务,最后一个命令不以&结尾,表示前台服务,必须要这样,如果都是后台服务,则执行完会直接退出,如果都是前台服务,则只会执行第一条命令; CMD nohup sh -c '1.dll & 2.dll',这里,同理,&连接表示后台服务,&&连接表示前台服务
docker build -t mycore .docker run --name mycore -p 50001:50001 -p 50002:80 -d mycore


docker使用entrypoint执行时报permission denied错误
在Dockerfile中使用指令ENTRYPOINT来执行项目下entrypoint.shshell文件,如下:
ENTRYPOINT ["./entrypoint.sh"]
时报错提示:
Exec: "./entrypoint.sh": permission denied
很明显问题在于用户没有文件的执行权限。
解决方法有两种:
  1. 赋予shell文件可执行权限
RUN chmod +x entrypoint.sh
  1. 将sh作为ENTRYPOINT数组的第一个参数(推荐)
ENTRYPOINT ["sh", "./entrypoint.sh"]
推荐使用第二种方式,因为不需要再额外去执行chmod

Dockerfile启动多个服务相关推荐

  1. docker工具之端口映射、容器互联、封装镜像、启动多个服务

    1.端口映射 为什么要端口映射? 在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的, 因为没有端口,所以需要进行端口映射.端口映射的两个关键词: 端口映射有两个关键词-P ...

  2. [转]使用批处理设置、启动和停止服务

    使用批处理设置.启动和停止服务                                                              Pashine     当我们的电脑安装了数据 ...

  3. win 10无法启动print spooler服务,提示1068依赖服务或组无法启动

    今天需要将论文格式转为PDF格式,无意中发现我的w10电脑自带的虚拟打印机不见了,主要原因是服务没有开启,以前用的好好的,不知道为啥这个服务自动关闭了,当点击开启服务时发现了这个问题. 开启服务的方法 ...

  4. oracle启动的服务有哪些,启动/关闭oracle服务有三种方式

    启动oracle服务有三种方式:1 从控制面板 2 使用MS-DOS命令 3 通过Oracle Administration Assistant for WindowsNT -通过控制面板启动orac ...

  5. 讲解启动CentOS Samba 服务的方法

    讲解启动CentOS Samba 服务的方法 2010-03-31 10:46 佚名 字号:T | T 学习完CentOS Samba 服务器的配置之后,我们来继续学习启动CentOS Samba 服 ...

  6. oracle如何启动和停止服务,CentOS启动和停止服务详解

    CentOS启动和停止服务详解 服务简介 Linux 系统服务是在Linux启 动时自动加载, 服务的添加.删除.自动运行及状态 CAMS 在安装过程中会自动添加相关的服务,例如: service c ...

  7. Cognos CFG-ERR-0103 无法启动 IBM Cognos 服务

    一直使用的一台Cognos8.4服务器,一直工作正常,在重启后Cognos服务无法启动.报错如下: [启动服务] [错误] CFG-ERR-0103 无法启动 IBM Cognos 服务. 执行外部进 ...

  8. oracle服务未启动失败,windows服务未启动导致 ORA-12560和RMAN-00554错误 | 信春哥,系统稳,闭眼上线不回滚!...

    今天,有人在群里问RMAN-00554.RMAN-04005.ORA-12560错误,如下: C:Usersstream>rman target / 恢复管理器: Release 11.2.0. ...

  9. task文件服务器无法输入,Win10系统无法启动task scheduler服务的解决方法

    Win10无法启动"task scheduler服务"怎么办?task scheduler是一个任务调度程序,用户可以使用task scheduler自动运行计算机任务.在Win1 ...

最新文章

  1. #开发catia_CATIA工程制图二次开发之15:从平面创建剖面视图
  2. Python中的测试工具
  3. go build不从本地gopath获取_跟我一起学习go语言,包依赖管理工具go mod
  4. SQLAlchemy Transactions
  5. 物联网领域面临标准挑战
  6. 毕业设计,人脸识别系统
  7. C++函数模板(模板函数)详解
  8. 小白眼中的docker究竟是个什么东西
  9. Centos7重置用户密码
  10. Impala集群搭建报错,主节点启动成功,但是worker节点的impalad启动失败
  11. Python 猴子偷桃
  12. 【历史上的今天】7 月 1 日:分时系统之父诞生;支付宝推出条码支付;世界上第一支电视广告
  13. oppo小布机器人_OPPO小布助手2.0全新版本来袭,做你身边最聪明的AI语音助手
  14. 赛尔号眼球怎么抓_素描头像怎么画?素描入门基础画|自学素描基本入门教程...
  15. U盘git仓库快速拷贝
  16. fairseq入门教程
  17. Java基础语法,函数的定义与调用(比较两个数的大小)
  18. 微信小程序:MD5 加密
  19. 最近程序员频繁被抓,如何避免面向监狱编程!?
  20. 【SSH框架/国际物流商综平台】-03 部门、用户、角色、模块 CURD BRAC认证 细粒度权限控制 BaseAction Page struts.xml *.hbm.xml

热门文章

  1. oracle tns和sid,oracle tns listener配置 (附TNS介绍)
  2. 全文检索知识库系统方案 (一)
  3. 【机器学习-决策树模块-信息论相关必备知识】
  4. grep查询多个关键字的命令
  5. liunx grep 多个关键字
  6. winForm安装ReportViewer
  7. iOS系统自带的字体名称集合
  8. 建立自己的3389肉鸡(基础级)
  9. 又一所“理工大学”,来了!深圳理工大学(筹)首批将建设六大学院。
  10. 编程教育机构测试题(1)