当密码包含特殊字符时,Docker secrets无法工作

yqkkidmi  于 2023-11-17  发布在  Docker
关注(0)|答案(1)|浏览(113)

我尝试使用这里提供的docker-compose运行jenkins swarm代理。
问题是我正在使用管理团队提供的服务帐户对Jenkins主服务器进行身份验证,并且该服务帐户的密码包含特殊字符\(反斜杠)和/(正斜杠)。示例:
美国石油公司
我使用此密码创建的Docker密码不起作用。我尝试使用我的个人帐户,它没有任何特殊字符,这是预期的工作。所以我认为问题是如何docker解释这些特殊字符时,创建密码。我试图转义反斜杠和使用单引号的密码,但不起作用。我尝试了下面

#use password as it is in double quotes
echo "abcdefghifjd12\ab/" | docker secret create jenkins-user -

#use backslash to escape backslash
echo "abcdefghifjd12\\ab/" | docker secret create jenkins-user -

#use single quotes
echo 'abcdefghifjd12\ab/' | docker secret create jenkins-user -

字符串
都不起作用。如何解决此问题?
伺服器:
版本号:17.06.2-ee-6
API版本:1.30(最低版本为1.12)
Go语言版本:go1.8.3
Git提交:e75 fdb 8
建造日期:2017年11月27日星期一22:44:25
操作系统/架构:Linux/linux
实验性:假

0tdrvxhp

0tdrvxhp1#

在Docker升级版中,我也可以做同样的事情。
在SWARM上,我在manager-1上创建了一个秘密:

[manager1] (local) [email protected] ~
    $ echo "abcdefghifjd12\ab/" | docker secret create jenkins-user -
    jxykdlqklpo5ml81c4bfa9a4o

    [manager1] (local) [email protected] ~
    $ docker service create --secret jenkins-user alpine sleep 1d
    sgmrof1cwwubmhz1qqibu4aof
    overall progress: 1 out of 1 tasks
    1/1: running
    verify: Service converged
    [manager1] (local) [email protected] ~
    $ docker service ls
    ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
    sgmrof1cwwub        wizardly_boyd       replicated          1/1                 alpine:latest
    [manager1] (local) [email protected] ~

    [manager2] (local) [email protected] ~
    docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    f4552c4718c5        alpine:latest       "sleep 1d"          2 minutes ago       Up 2 minutes                wizardly_boyd.1.4gb4nwgiqagfyn10vuvt9pb4v
    [manager2] (local) [email protected] ~
    $ docker exec -it f45 sh
    / # cd /run
    /run # cd secrets/
    /run/secrets # ls
    jenkins-user
    /run/secrets # cat jenkins-user
    abcdefghifjd12\ab/

字符串
Docker版本信息:

$ docker version
    Client:
     Version:      18.03.1-ce
     API version:  1.37
     Go version:   go1.9.2
     Git commit:   9ee9f40
     Built:        Thu Apr 26 07:12:25 2018
     OS/Arch:      linux/amd64
     Experimental: false
     Orchestrator: swarm

    Server:
     Engine:
      Version:      18.03.1-ce
      API version:  1.37 (minimum version 1.12)
      Go version:   go1.9.5
      Git commit:   9ee9f40
      Built:        Thu Apr 26 07:23:03 2018
      OS/Arch:      linux/amd64
      Experimental: true
    [manager1] (local) [email protected] ~

相关问题