如何使用 Docker 安装 Transmission

Lor*_*Foe -2 transmission docker dockerfile docker-compose transmission-daemon

我对 Docker 完全陌生。我想使用 Docker 安装Transmission(即我不想使用linuxserver.io/transmission

目前我的Dockerfile是:

RUN apt-get update -y
RUN apt-get install transmission-daemon -y
EXPOSE 9091 51413/tcp 51413/udp
Run Code Online (Sandbox Code Playgroud)

但是如何给出settings.json文件呢?如何运行我的 Dockerfile?我需要docker-compose.yml文件吗?

先感谢您 :)

Jea*_*din 5

首先创建一个Dockerfile文件:

FROM alpine:3

RUN apk --no-cache add transmission-daemon \
    && mkdir -p /transmission/config \
    && chmod -R 1777 /transmission \
    && rm -rf /tmp/*


STOPSIGNAL SIGTERM
ENTRYPOINT ["/usr/bin/transmission-daemon", "--foreground", "--config-dir", "/transmission/config"]
Run Code Online (Sandbox Code Playgroud)

和一个docker-compose.yml文件:

version: '3.8'

services:
  transmission:
    image: transmission
    container_name: transmission-container

    ports:
      - "9091:9091/tcp"
      - "51413:51413/tcp"
      - "51413:51413/udp"
    tmpfs:
      - /tmp
    volumes:
      - /Users/jean/mystuff/config:/transmission/config
      - /Users/jean/mystuff/downloads:/transmission/downloads
      - /Users/jean/mystuff/incomplete:/transmission/incomplete
    restart: unless-stopped
Run Code Online (Sandbox Code Playgroud)

不要忘记将settings.json文件放在 config 文件夹中 (Users/jean/mystuff/config/settings.json)。并在这个 json 文件中保持一致!用于/transmission/downloads财产download-dir等等...

然后我们必须构建图像(打开终端并转到它所Dockerfile在的位置)

docker build -t transmission .
Run Code Online (Sandbox Code Playgroud)

最后启动,通过执行(打开终端并转到所在的位置docker-compose.yml

docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

非常感谢: https: //gitlab.com/alexhaydock/docker-transmission