Docker 码头工人';设置失败,缺少令牌凭据';
我正试图用一个特定的标志来构建“rss2twitter”容器,以使其工作。自运行以来: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
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我可以对入口点做些什么吗?