1.secret management 的作用

  用来存储 其他人不想看到 的数据

2.secret management

  存在 swarm manager 节点 raft database 里。

  secret 可以 assign 给一个 service (or container), 这个 sevice 就能看到这个secret了

  在 container 内部 secret 看起来像文件, 但实际是在内存中

3. secret 的 操作

  创建

    从文件内创建

      vim password

        #password  内容

          123456a

    创建 secret

      docker secret create my-pass password

    删除 password 文件

      rm -rf ./password

    从命令行输入创建

      echo '123456a' | docker secret create my-pass2 -

  查看

    docker secret ls

  删除

    docker secret rm my-pass2

4. secret 的使用

  创建 service 的时候指定 secret

    docker service create --name client --secret my-pass busybox sh -c "while true; do sleep 3600; done"

  查看 service 服务器 位置

    docker service ps client

  在 指定服务器 查看 container id

    docker ps

  进入容器

    docker exec -it [container_id] sh

  查看指定的密码

    cat /run/secrets/my-pass

5. mysql 案例

  创建 mysql service 指定文件根目录 密码文件为 /run/secrets/my-pass

    docker service create --name db --secret my-pass -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/my-pass mysql:5.7.27

  查看所在服务器位置

    docker service ps db

  在 指定服务器 查看容器id 并进入

    docker ps

    docker exec -it [container_id] sh

  查看docker secret 密码  并 进入mysql

      cat /run/secrets/my-pass

      mysql -uroot -p[my-pass]   

    或简写为:

      mysql -uroot -p$(cat /run/secrets/my-pass)

6. 在 docker stack 中的使用

  编辑 docker-compose.yml

   在各个 service 下添加

    secrets 参数 和 environment 参数

    eg:

      services:

         web:

        image: wordpress

        secrets:

           - my-pass

        environment:

           WORDPRESS_DB_HOST: mysql

         WORDPRESS_DB_PASSWORD_FILE: /run/secrets/my-pass

        ...

  eg: docker-compose.yml

version: '3.1'

services:

db:

image: mysql:5.7.27

volumes:

- db_data:/var/lib/mysql

environment:

MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password

MYSQL_DATABASE: wordpress

MYSQL_USER: wordpress

MYSQL_PASSWORD_FILE: /run/secrets/db_password

secrets:

- db_root_password

- db_password

wordpress:

depends_on:

- db

image: wordpress:latest

ports:

- "8888:80"

environment:

WORDPRESS_DB_HOST: db:3306

WORDPRESS_DB_USER: wordpress

WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password

secrets:

- db_password

secrets:

db_password:

file: password.txt

db_root_password:

file: password.txt

volumes:

db_data:

6. 根据上述的 docker-compose.yml 创建 service

  docker stack deploy wordpress -c=docker-compose.yml

  查看 mysql 所在的服务器

  docker service ls

  docker service [container_name | container id]

  查看所在服务器的 容器 id

  docker ps

  进入 mysql 容器

  docker exec -it [container_id] /bin/bash

  mysql -uroot -p[your setting password]

  能登陆即可

  或能访问 192.168.205.10 也行

36. docker swarm docker secret 的使用和管理的更多相关文章

  1. Dockerfile & Docker Swarm & Docker Stack & Docker Compose

    Dockerfile 通俗地讲,它是为了指导单个镜像从无到有的构建过程.如果你镜像是从Docker registry上面拉下来的,那就用不到这个文件:如果你是自己的应用,想打包成镜像,那就需要这个文件 ...

  2. 37. docker swarm docker service 的更新

    在service 运行的情况下 进行更新 1. 创建 名为 demo 的 overlay 网络 docker network create -d overlay demo 2. 创建 python-f ...

  3. Docker集群管理(三)—— docker swarm mode基础教程

    docker从1.12版(及后续版本)集成了swarmkit.可以方便的实现docker集群.它有哪些特点呢: 集成了集群功能 分散设计:manager和worker两种节点. 声明式服务模式 可伸缩 ...

  4. Docker 三剑客之 Docker Swarm

    上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service ...

  5. Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别

    Dcoker Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Docker为基础,它是我 ...

  6. docker swarm 搭建与服务更新

    一,docker swarm 是什么 Docker Swarm.Docker Machine与Docker Compose号称Docker三剑客Docker Swarm 和 Docker Compos ...

  7. Docker Swarm 高可用详解

    Docker Swarm 高可用详解 Manager管理节点宕机后其他管理节点仍然可以使用管理 intermal distributed state store:内部分布式状态存储同步共享到每个节点. ...

  8. Docker compose 与 Docker swarm

    安装 docker :https://www.cnblogs.com/klvchen/p/8468855.html 安装 docker-compose : https://www.cnblogs.co ...

  9. docker --swarm创建一个集群

    如果搭建错误可以强制脱离集群网络: docker swarm leave --force 初始化集群网络管理节点: docker swarm init --advertise-addr 10.101. ...

随机推荐

  1. POJ 2823:Sliding Window 单调队列

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 48930   Accepted: 14130 ...

  2. Java多线程之Java内存模型

    如果要了解Java内存模型,就得对多线程的三大特性有初步的了解. 1.原子性:独一无二.一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行.比如i = i+1:其中就包 ...

  3. 腾讯云服务器上搭建 2.176.3-1.1 版本的Jenkins,jdk 11

    [root@VM_0_12_centos fonts]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@VM_0 ...

  4. 通过Navicat Premium 实现Oracle的连接和基本操作

    一.Oracle的连接 以下为Navicat Premium连接Oracle数据库的教程 一.需要准备的软件(下载适合自己系统的软件) 1.Navicat premium 官方下载地址:http:// ...

  5. sudo 提权漏洞(CVE-2019-14287)复现 (10.16 第二十二天)

    sudo是Linux系统命令,让普通账号以root身份去执行某些命令,比,安装软件.查看某些配置文件.关机.重启等操作,如果普通账号需要使用sudo需要修改配置文件/etc/sudoers,将sudo ...

  6. EUI库 - 10 - 使用自定义组件

      步骤 1 在根节点,添加一个自定义的命名空间  2 可以设置skinName 自定义组件规范 1 不复用的不要用自定义组件 2 属性必须要有默认值(赋值为null也可以),因为TS编译器会把没有默 ...

  7. Q3狂揽3亿美元净利润的特斯拉会让国内电动汽车厂商喜极而泣吗?

    作为电动汽车行业的标杆,特斯拉无疑是国内电动汽车厂商发展进程中重要的参考对象.而前段时间特斯拉身上出现的产能受阻.私有化风波.马斯克卸任董事长一职等事件,着实让国产电动汽车厂商惊出一身冷汗.毕竟如果特 ...

  8. 在Mac上使用docker+sql server+Navicat

    1. 版本:  2. 安装Kubernetes(并不知道安装这个有什么用) git clone https://github.com/maguowei/k8s-docker-desktop-for-m ...

  9. android:padding和android:margin的区别 android:gravity和 android:layout_gravity 区别

    Android的Margin和Padding跟Html的是一样的.如下图所示:橙色边框(一个RelativeLayout或者LinearLayout)为例,最外层灰色为屏幕边框,黄色部分为Paddin ...

  10. JVM探秘:MAT分析内存溢出

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. MAT是分析Java堆内存的一个工具,全称是 The Eclipse Memory A ...