我正在尝试在Ubuntu 18.0.4 LTS上创建一个docker secret。
我使用docker swarm init
创建了一个群体。
运行echo "my_secret" | docker create secret my_secret - someSecret
时出现错误:
"docker secret create" requires at least 1 and at most 2 arguments.
See 'docker secret create --help'.
Usage: docker secret create [OPTIONS] SECRET [file|-] [flags]
Create a secret from a file or STDIN as content
有人可以告诉我我在做什么错吗?
答案 0 :(得分:1)
secret create命令最多包含两个参数,即秘密名称和(可选)从中读取秘密的位置。 SELECT
dt, vst_type, register_dt, vst_dt
FROM
(
SELECT
id, dt, vst_type,
dt AS register_dt,
ROW_NUMBER () OVER
(
PARTITION BY id, dt ORDER BY
CASE
WHEN vst_type = 'REGISTER_DT' THEN 1 ELSE 2 END
)
AS vst_dt_rnum,
LEAD(dt) OVER (PARTITION BY id ORDER BY dt) AS vst_dt
FROM
(
SELECT id, register_dt AS dt, 'REGISTER_DT' vst_type FROM tst_tbl
UNION
SELECT id, visit_dt AS dt, 'VISIT_DT' vst_type FROM tst_tbl
)
)
WHERE vst_dt_rnum = 1 AND vst_type = 'REGISTER_DT'
说要从stdin读取。您提供了3个无效参数,分别为-
,my_secret
和-
someSecret
这将创建一个名为echo "someSecret" | docker create secret my_secret -
的秘密,其值为my_secret
。
答案 1 :(得分:1)
默认情况下,echo
命令在末尾添加一个额外的换行符。这也将影响您的秘密。您必须添加-n
选项,该选项强制echo不输出尾随换行符。
echo -n "someSecret" | docker create secret my_secret -