【问题标题】:Can't install packages in docker container using Dockerfile无法使用 Dockerfile 在 docker 容器中安装软件包
【发布时间】:2022-02-07 23:19:16
【问题描述】:

我想通过 Dockerfile 在 Docker 映像中安装一个包。

docker-compose.yml:

version: "3.5"
services:
  transmission:
    build:
      context: .
      dockerfile: Dockerfile
    image: ghcr.io/linuxserver/transmission
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./config/public:/config
      - /data:/data
    ports:
      - 60020:60020
      - 60010:60010
      - 60010:60010/udp
    restart: unless-stopped
    network_mode: host

Dockerfile:

RUN apk update
RUN apk add --no-cache flac

在 Dockerfile 中,我指定要安装 flac 包。 之后我运行docker-compose up -dsudo docker exec -it transmission bash 来检查它是否存在,但它不存在。

我做错了什么?

【问题讨论】:

    标签: docker docker-compose package dockerfile


    【解决方案1】:

    您的 Dockerfile 无效(如果您已发布整个文件)。您还在 docker-compose 文件中指定了 build:image: 标记,当您想要构建映像并在构建时给它一个标记时使用该标记。

    我认为您正在尝试完成的是将 flac 添加到传输图像中。为此,您将创建一个像这样的 Dockerfile

    FROM ghcr.io/linuxserver/transmission
    RUN apk update
    RUN apk add --no-cache flac
    

    然后在您的 docker-compose 文件中,像这样删除图像规范

    version: "3.5"
    services:
      transmission:
        build:
          context: .
          dockerfile: Dockerfile
        container_name: transmission
        environment:
          - PUID=1000
          - PGID=1000
        volumes:
          - ./config/public:/config
          - /data:/data
        ports:
          - 60020:60020
          - 60010:60010
          - 60010:60010/udp
        restart: unless-stopped
        network_mode: host
    

    【讨论】:

    • 就是这样,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2020-07-26
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    相关资源
    最近更新 更多