Docker 码头工人';设置失败,缺少令牌凭据';

Docker 码头工人';设置失败,缺少令牌凭据';,docker,Docker,我正试图用一个特定的标志来构建“rss2twitter”容器,以使其工作。自运行以来: docker运行rss**--feed=rssfeed.xml** 不工作,因为它正在尝试执行我附加到它的命令,我尝试将命令添加到Dockerfile中的CMD变量中,如下所示: CMD[“/srv/rss2twitter-f=rssfeed.xml”] 基于上述添加,运行Docker run可提供以下输出: execute "/srv/rss2twitter -f=rssfeed.xml" rss2twit

我正试图用一个特定的标志来构建“rss2twitter”容器,以使其工作。自运行以来:

docker运行rss**--feed=rssfeed.xml**

不工作,因为它正在尝试执行我附加到它的命令,我尝试将命令添加到Dockerfile中的CMD变量中,如下所示:
CMD[“/srv/rss2twitter-f=rssfeed.xml”]

基于上述添加,运行Docker run可提供以下输出:

execute "/srv/rss2twitter -f=rssfeed.xml"
rss2twitter - master-17ddbb0-20200212T02:46:34
2020/02/19 03:58:06 PANIC failed to setup, token credentials missing
2020/02/19 03:58:06 PANIC failed to setup, token credentials missing
当我运行Docker文件而不添加
-f=rssfeed.xml
时,它会给出以下输出:

execute "/srv/rss2twitter"
rss2twitter - master-17ddbb0-20200212T02:46:34
the required flag `-f, --feed' was not specified
你知道我该怎么解决这个问题吗?运行
docker run
时是否可以指定非docker args以将其传递到映像

感谢您的帮助

Dockerfile:

FROM umputun/baseimage:buildgo-latest as build

WORKDIR /build/rss2twitter
ADD . /build/rss2twitter

# run tests
RUN cd app && go test -mod=vendor ./...

RUN \
    version=$(/script/git-rev.sh) && \
    echo "version=$version" && \
    go build -mod=vendor -o rss2twitter -ldflags "-X main.revision=${version} -s -w" ./app

FROM umputun/baseimage:app-latest

COPY --from=build /build/rss2twitter/rss2twitter /srv/rss2twitter
RUN \
    chown -R app:app /srv && \
    chmod +x /srv/rss2twitter

WORKDIR /srv

CMD ["/srv/rss2twitter"]
ENTRYPOINT ["/init.sh"]

解决方案其实很简单。在docker-compose.yml文件中使用多个服务

像这样:

version: '2'
services:
  rss2twitter_nummer_1:
    build: .
    image: umputun/rss2twitter:latest
    container_name: rss2twitter_nummer_1
    hostname: rss2twitter
    restart: always
    logging: &default_logging
      driver: json-file
      options:
        max-size: "10m"
        max-file: "5"
    environment:
      - FEED=feed
      - TWI_CONSUMER_KEY=
      - TWI_CONSUMER_SECRET=
      - TWI_ACCESS_TOKEN=
      - TWI_ACCESS_SECRET=
      - "TEMPLATE={{.Title}} - {{.Link}} #mytag"
    # command: ["/srv/rss2twitter", "--dry"]
  rss2twitter_nummer_2:
    build: .
    image: umputun/rss2twitter:latest
    container_name: rss2twitter_nummer_2
    hostname: rss2twitter
    restart: always
    environment:
      - FEED=
      - REFRESH=1m
      - TWI_CONSUMER_KEY=
      - TWI_CONSUMER_SECRET=
      - TWI_ACCESS_TOKEN=
      - TWI_ACCESS_SECRET=
      - "TEMPLATE={{.Title}} - {{.Link}} #mytag"
    # command: ["/srv/rss2twitter", "--dry"]

通过复制和粘贴相同的配置,但更改容器名称和其他属性,它可以旋转具有不同属性的多个容器

你能在问题中包括你的Dockerfile吗?似乎至少有一条入口线也很重要。我在帖子中添加了Dockerfile。这是存储库中的原始版本,不是我编辑的带有'-f'标志的版本。@DavidMaze我可以对入口点做些什么吗?