Поддерживают ли dockerized действия github параметры сети для параметров запуска docker
Я использую самостоятельно размещенные бегуны github для доступа vpn к некоторому программному обеспечению, и я пытаюсь использовать dockerized действие github на самостоятельно размещенных бегунах, но у меня возникают проблемы, потому что мне нужно указать флаг хоста --network, когда действие github запускает запуск докера . Есть ли способ заставить действие github использовать сеть хоста?
1 ответ
Насколько я знаю, это невозможно. Он также недоступен на ступенях. Однако для вакансий доступны варианты . Единственный другой способ - создать составное действие и запустить
docker run ...
прямо в нем. Вот тот, который я написал для собственного рабочего процесса. Это немного сложнее, но позволяет автоматически передавать переменную среды из бегуна в контейнер докера на основе префикса имени переменной:
name: Docker start container
description: Start a detached container
inputs:
image:
description: The image to use
required: true
name:
description: The container name
required: true
options:
description: Additional options to pass to docker run
required: false
default: ''
command:
description: The command to run
required: false
default: ''
env_pattern:
description: The environment variable pattern to pass to the container
required: false
default: ''
outputs:
cid:
description: Container ID
value: ${{ steps.info.outputs.cid }}
runs:
using: composite
steps:
- name: Run
shell: bash
run: >
variables='';
for i in $(env | grep '${{ inputs.env_pattern }}' | awk -F '=' '{print $1}'); do
variables="--env ${i} ${variables}";
done;
docker run -d
--name ${{ inputs.name }}
--network host
--cidfile ${{ inputs.name }}.cid
${variables}
${{ inputs.options }}
${{ inputs.image }}
${{ inputs.command }}
- name: Info
id: info
shell: bash
run: echo "::set-output name=cid::$(cat ${{ inputs.name }}.cid)"
и использовать его:
- name: Start app container
uses: ./.github/actions/docker-start-container
with:
image: myapp/myapp:latest
name: myapp
env_pattern: 'MYAPP_'
options: --entrypoint entrypoint.sh
command: >
--check
-v