Day 17 Dockerfile 和 Docker-Compose 的差异

「撰写完 dockerfile → 转成映像档 → 建立容器」的流程虽说不复杂,但随着要建立的容器一多,中间的相关性管理便会成为一大考验。

Dockerfile - 用来建立映像档的文件

使用者可以撰写 dockerfile,来让产生映像档的流程自动化。撰写完毕後,使用 docker build 来建立映像档

Docker-Compose - 用来管理多个容器,并定义每个容器间的相依性、参数...等细节

编写出的档案为 .yml 格式。撰写完毕後,可以使用 docker-compose up / down 来轻松启用、删除多个容器。

用 docker-compose 来建立容器

这边以 Day15 - 撰写一个 dockerfile,和 vue-cli 服务进行整合开发 里头的 vue 专案为例,接下来建立容器的指令操作,就可以由 docker-compose.yml 代劳。

version: "3"
services:
  vue:
    image: docker-vue-test
    volumes:
      - "<本机端的 docker-vue-test 绝对路径>:/app"
    expose:
      - 8080
    ports:
      - 1234:8080

上面的内容效力等价於以下指令:

docker run -it -p 1234:8080 -v <本机端的 docker-vue-test 绝对路径>:/app docker-vue-test

当你用 dockerfile 建立好 docker-vue-test 映像档後,接下来需

  1. docker-compose up 来新增容器
  2. docker exec -it <容器名称或是 ID> sh 来进入容器内的 /app 资料夹
  3. 执行 npm run serve 就完成了

参考资料

  1. Difference between Dockerfile and docker-compose

<<:  Day20: EventEmitter

>>:  [Day 28] Bevy 游戏引擎 (Part 2)

[DAY 10] ListItem

接着我们来介绍google form 中的下拉式选单(listItem) 其实下拉式选单和单选题很像...

用 Python 畅玩 Line bot - 17:Template message

Line bot API 中有一种只有 line bot 专属的讯息种类,叫做 Template m...

Day11 - 搜寻文章标题

今天来加入搜寻文章标题的部分。 Layout的部份新增一个EditText以及ImageView,目...

如何衡量万事万物 (4) 校准过度自信的估算

今天摘要的段落是可以「跟着做」的练习,我觉得今天的段落超有趣的!!! 前情提要 今天内容是【CH5....

【JavaScript】 日期转换为 年/月/日 字串

JavaScript 有许多处理日期的方法,toLocaleDateString() 可以将日期的标...