如何使用 Github 操作以 RSA 密钥作为构建参数构建 docker 图像
How to build a docker image with RSA key as build argument using Github Actions
我正尝试在 ubuntu 上使用 github 操作构建一个 docker 图像 - 最新。
docker 图像需要通过构建参数接收 RSA 密钥。
虽然在我的 macos machine 中构建图像没有任何问题,但在 github 操作中构建图像时我遇到了以下错误。
密钥存储为 ENV 变量,我使用的命令如下:
docker build --build-arg user_private_rsa=$USER_PRIVATE_RSA . -t auth-service
使用上面的命令在mac上成功构建镜像,但是当使用这个gihub动作时,我一点运气都没有。
on:
push:
branches: [ master ]
jobs:
build-deploy:
name: Build docker image
runs-on: ubuntu-latest
build-push-ecr:
name: Build docker image and push to ecr
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- run: docker build --build-arg user_private_rsa=$USER_PRIVATE_RSA . -t auth-service
- name: Build image
env:
USER_PRIVATE_RSA: ${{ secrets.USER_PRIVATE_RSA }}
bad flag syntax: -----END
See 'docker build --help'.
错误发生是因为执行 docker 内置 github 操作,最终成为多行命令。
有没有人遇到过类似的问题可以帮我解决一下?
非常感谢!
您应该引用变量,即 --build-arg user_private_rsa="$USER_PRIVATE_RSA"
否则 docker 会选择第一个空格之后的任何内容作为其自身的选项。
万一有人遇到类似问题,我通过将 rsa 密钥作为 base64 字符串传递来解决它,因为 docker 需要一行命令。
我正尝试在 ubuntu 上使用 github 操作构建一个 docker 图像 - 最新。 docker 图像需要通过构建参数接收 RSA 密钥。
虽然在我的 macos machine 中构建图像没有任何问题,但在 github 操作中构建图像时我遇到了以下错误。
密钥存储为 ENV 变量,我使用的命令如下:
docker build --build-arg user_private_rsa=$USER_PRIVATE_RSA . -t auth-service
使用上面的命令在mac上成功构建镜像,但是当使用这个gihub动作时,我一点运气都没有。
on:
push:
branches: [ master ]
jobs:
build-deploy:
name: Build docker image
runs-on: ubuntu-latest
build-push-ecr:
name: Build docker image and push to ecr
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- run: docker build --build-arg user_private_rsa=$USER_PRIVATE_RSA . -t auth-service
- name: Build image
env:
USER_PRIVATE_RSA: ${{ secrets.USER_PRIVATE_RSA }}
bad flag syntax: -----END See 'docker build --help'.
错误发生是因为执行 docker 内置 github 操作,最终成为多行命令。
有没有人遇到过类似的问题可以帮我解决一下? 非常感谢!
您应该引用变量,即 --build-arg user_private_rsa="$USER_PRIVATE_RSA"
否则 docker 会选择第一个空格之后的任何内容作为其自身的选项。
万一有人遇到类似问题,我通过将 rsa 密钥作为 base64 字符串传递来解决它,因为 docker 需要一行命令。