gpt4 book ai didi

docker - 在 GitHub 操作中,如何覆盖服务的入口点?

转载 作者:行者123 更新时间:2023-12-02 18:18:30 24 4
gpt4 key购买 nike

我需要在我的 GitHub 操作中定义一个服务,并通过向它添加参数来覆盖它的入口点。我怎样才能做到这一点?

这是我正在尝试翻译的有效的 docker-compose。

version: '2'
services:
config:
build: .
links:
- etcd

etcd:
image: microbox/etcd:2.1.1
entrypoint: "etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379"
hostname: etcd
container_name: build_etcd
expose:
- 2379

这是我的 Action 以及我最初认为它是如何工作的...
name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [12.x]

services:
etcd:
image: microbox/etcd:2.1.1
options: --entrypoint 'etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379'

steps:
...

但是,在初始化容器时会出现这种情况,因为它运行的命令不正确......
/usr/bin/docker create --name 1062a703242743a29bbcfda9fc19c823_microboxetcd211_3767cc --label 488dfb --network github_network_244f1c7676b8488e99c66694d06a21f2 --network-alias etcd --entrypoint 'etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379' -e GITHUB_ACTIONS=true microbox/etcd:2.1.1

错误是 unknown flag: --listen-client-urls
我觉得其实应该是这样的……
/usr/bin/docker create --name 1062a703242743a29bbcfda9fc19c823_microboxetcd211_3767cc --label 488dfb --network github_network_244f1c7676b8488e99c66694d06a21f2 --network-alias etcd --entrypoint etcd -e GITHUB_ACTIONS=true microbox/etcd:2.1.1 --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379

任何想法如何在 GitHub 操作服务定义中我可以使用传递给可执行文件的参数覆盖入口点?

最佳答案

据我所知,这是不可能的。

最简单的方法是使用入口点覆盖运行 docker create 命令,并将其作为构建步骤的 args。像这样的东西:

name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest

steps:
...
- run: docker create --name build_etcd --network-alias etcd --entrypoint etcd microbox/etcd:2.1.1 --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:237
...

但是,我最终要做的只是构建和运行 docker-compose.yml,我已经知道它是工作流程中的一个步骤。这是 docker-compose。
version: '3'
services:
config:
build: .
links:
- etcd

etcd:
image: microbox/etcd:2.1.1
entrypoint: "etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379"
hostname: etcd
container_name: build_etcd
expose:
- 2379

以下是相关步骤:
steps:
- uses: actions/checkout@v2
- name: Build
run: docker-compose build --pull --force-rm config
- name: Test
run: docker-compose run --rm config test
...

关于docker - 在 GitHub 操作中,如何覆盖服务的入口点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59868127/

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