gpt4 book ai didi

docker - 如何从 Docker compose 安装软件包?

转载 作者:IT老高 更新时间:2023-10-28 12:46:14 29 4
gpt4 key购买 nike

您好,我是 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:

我想从 docker-compose 文件中安装 Yarn 包管理器:

sudo apt-get update && sudo apt-get install yarn

我不知道如何声明这个,我试过了

command: supervisord -n && sudo apt-get update && sudo apt-get install yarn

静默失败。我该如何正确声明?还是 docker-compose.yml 是错误的地方?

最佳答案

为什么不使用专为此任务设计的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:

然后在与 docker-compose.yml 相同的路径下创建一个名为 Dockerfile 的文本文件,内容如下:

FROM lmm/lamp:php${PHP_VERSION:-71}

RUN apt-get update && apt-get install -y bash

您可以使用 Dockerfile 的 RUN(cp、mv、ls、bash...)添加任意数量的 SO 命令,除了其他 Dockerfile 功能,如 ADD、COPY 等。

+信息:

https://docs.docker.com/engine/reference/builder/

+现场示例:

我创建了一个名为 hello-docker-react 的 github 项目。顾名思义,它是一个 docker-react 盒子,可以作为示例,因为我正在使用我上面解释的过程安装 yarn 和其他工具。

除此之外,我还使用 docker-compose 入口点属性链接到 docker-compose.yml 文件的入口点 bash 脚本启动 yarn 。

https://github.com/lopezator/hello-docker-react

关于docker - 如何从 Docker compose 安装软件包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47903079/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com