Bla*_*bam 14 package-managers docker docker-compose
嗨,我是Docker的新手.我有一个docker-compose.yml,它看起来像这样:
version: "3"
services:
lmm-website:
image: lmm/lamp:php${PHP_VERSION:-71}
container_name: ${CONTAINER_NAME:-lmm-website}
environment:
HOME: /home/user
command: supervisord -n
volumes:
- ..:/builds/lmm/website
- db_website:/var/lib/mysql
ports:
- 8765:80
- 12121:443
- 3309:3306
networks:
- ntw
volumes:
db_website:
networks:
ntw:
Run Code Online (Sandbox Code Playgroud)
我想在docker-compose文件中安装Yarn包管理器:
sudo apt-get update && sudo apt-get install yarn
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何宣布这个,我试过了
command: supervisord -n && sudo apt-get update && sudo apt-get install yarn
Run Code Online (Sandbox Code Playgroud)
它无声地失败了.我该如何正确声明?或者docker-compose.yml是错误的地方吗?
sh4*_*sh4 15
为什么不使用专门为此任务设计的Dockerfile?
将"image"属性更改为"build"属性以链接Dockerfile.
你的docker-compose.yml看起来像这样:
services:
lmm-website:
build:
context: .
dockerfile: Dockerfile
container_name: ${CONTAINER_NAME:-lmm-website}
environment:
HOME: /home/user
command: supervisord -n
volumes:
- ..:/builds/lmm/website
- db_website:/var/lib/mysql
ports:
- 8765:80
- 12121:443
- 3309:3306
networks:
- ntw
volumes:
db_website:
networks:
Run Code Online (Sandbox Code Playgroud)
然后在与docker-compose.yml相同的路径中创建一个名为Dockerfile的文本文件,其中包含以下内容:
FROM lmm/lamp:php${PHP_VERSION:-71}
RUN apt-get update && apt-get install -y bash
Run Code Online (Sandbox Code Playgroud)
您可以使用Dockerfile的RUN(cp,mv,ls,bash ...)添加尽可能多的SO命令,以及其他Dockerfile功能,如ADD,COPY等.
+信息:
https://docs.docker.com/engine/reference/builder/
+活例子:
我做了一个名为hello-docker-react的github项目.因为它的名字是一个码头反应箱,并且可以作为一个例子,因为我正在使用我上面解释的程序安装纱线和其他工具.
除此之外,我还使用一个使用docker-compose入口点属性链接到docker-compose.yml文件的入口点bash脚本来启动yarn.
https://github.com/lopezator/hello-docker-react
归档时间: |
|
查看次数: |
11149 次 |
最近记录: |