DockerSecret+DockerConfig介绍及使用

news2024/11/15 7:57:34

DockerSecret

查看官网介绍,Secret是daemon API 1.25之后引入的,它运行在swarm上的命令。

生产环境下,为了安全,我们不能把各项目的配置密码写入到配置文件。

我们可以引入docker的secret方式保护密码。

场景:

  • 用户名密码
  • SSH Key
  • TLS认证
  • 任何别人不想看到的数据

1、创建一个密码secret

2、用完就删

3、哪个服务想要使用只要暴露给他即可。

在这里插入图片描述

使用

echo "123456" |docker secret ceate xxx -

# 传递参数
[root@node111 ~]# docker service create --name mysql --secret mysql_pwd -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_pwd -p 3306:3306 mysql:5.7

# 写到yaml配置中
version: "3"
services:
  mysql:
    image: mysql:5.7
    ports:
      - 3306:3306
    secrets:
      - mysql_pwd
    enviroment:
      - MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_pwd


# 探究
[root@node111 ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                   CREATED          STATUS          PORTS                 NAMES
11b0a5f6eb2c   mysql:5.7   "docker-entrypoint.s…"   24 seconds ago   Up 23 seconds   3306/tcp, 33060/tcp   mysql.1.xfll5c4mxp9d7h5uyz2u052pe
[root@node111 ~]# docker exec -it 11b0 /bin/bash
root@11b0a5f6eb2c:/# cd /run/secrets/
root@11b0a5f6eb2c:/run/secrets# ls
mysql_pwd
root@11b0a5f6eb2c:/run/secrets# cat mysql_pwd 
123456root@11b0a5f6eb2c:/run/secrets# exit
exit

原理:我们使用–secret mysql_pwd以后,secret密码文件就会被解码保存到容器内部的/run/secrets/secret名中。这样我们就可以在容器中任意使用。但是外部无感知。

不管怎么使用,secret最好提前创建好。到时候声明使用就行。其实是在内存中的。整个集群manager是利用raft同步的

DockerConfig

1、如何声明

docker config create [OPTIONS] CONFIG file|-

# 使用文件方式创建
docker config create redis.conf redis.conf
docker config ls

docker service create --config redis.conf --name redis redis

#config内容base64编码,是可以inspect出来的。
docker config inspect redis.conf

在线解码工具:https://c.runoob.com/front-end/693/


#secret文件是在容器中 /run/secrets/xxxx 暴露的
#config默认是在根目录暴露的。
docker ps
docker exec -it 容器id /bin/bash

2、如何使用

#指定位置
docker service create --name redis \
  --config source=redis-conf,target=/etc/redis/redis.conf,mode=0400 redis:3.0.6

#2、compose文件
version: "3"
services:
  mysql:
    image: redis
    ports:
      - 6379:6379
    config:
      - redis_conf
    enviroment:
      - MYSQL_ROOT_PASSWORD_FILE: /

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1927077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java数组之——了解十大排序算法(动画版)

详细的冒泡排序和快速排序请查看文章:java数组之冒泡排序、快速排序-CSDN博客https://blog.csdn.net/weixin_44554794/article/details/140361078 一、插入排序 二、希尔排序 三、选择排序 四、堆排序 五、冒泡排序 六、快速排序 七、归并排序 八、计数排序 九、桶…

家庭海外仓怎么拓客:策略落地方法汇总

家庭海外仓因为其高度灵活性和独有的价格优势,还是受到很多跨境卖家欢迎的。不过作为家庭海外仓的经营者,想在这么激烈的竞争下稳定、持续的拿到客户,还是有一定难度的。今天我们就专门来聊一下家庭海外仓的拓客问题。 家庭海外仓在拓客上面临…

【开源】开源数据库工具推荐

Mysql开源工具推荐 dbeaver下载网速太慢了,这么好用的开源工具,可以从镜像站中下载: 下载地址: https://mirrors.nju.edu.cn/github-release/dbeaver/dbeaver/24.1.1/ Redis开源工具推荐 好看好用,UI真是做的很不…

MyBatis where标签内嵌foreach标签查询报错‘缺失右括号‘或‘命令未正确结束‘

MyBatis <where>标签内嵌<foreach>标签查询报错’缺失右括号’或’命令未正确结束’ <where>标签内嵌<foreach>标签 截取一段脱敏xml&#xff0c;写明大概意思 <select id"queryLogByIds" resultMap"BaseResultMap">SELE…

ts使用typeorm实现db创建

1.新建基础架构 ①创建项目文件名, mkdir ‘名称’ ->cd ‘文件名’ -> mkdir ‘src’->npm init mkdir fileName cd fileName mkdir src npm init在当前项目名目录下执行npm init,按照默认执行就会创建package.json. 之后执行 npm i jest/globals casl/ability bcr…

如何快速区分电子原件极性

表贴式电阻电容无极性 1表贴式.二极管 如图所示:有横杠的表示负极&#xff08;竖杠标示&#xff09;&#xff0c;注意一定要查阅数据手册在引脚信息栏一般会有 铝电解电容 手册一般会对正负极有说明 钽电容有极性 发光二极管 芯片 一般规律&#xff1a;1.看丝印朝向正对丝印的…

【C++】静态成员变量和静态成员函数(static)

为了实现多个类公用一个成员变量或函数诞生了static&#xff0c;静态成员变量和静态成员函数。 static成员变量 格式 class A { public:static 静态成员变量类型 静态成员名; } }静态成员变量必须在类外进行初始化&#xff0c;类内初始化会报错 class A { private:st…

氢气传感器TGS2616在氢燃料电池行业的应用

氢燃料电池是一种将氢气和氧气的化学能直接转换成电能的发电装置。其基本原理是电解水的逆反应&#xff0c;把氢和氧分别供给阳极和阴极&#xff0c;氢通过阳极向外扩散和电解质发生反应后&#xff0c;放出电子通过外部的负载到达阴极。 氢燃料电池具有无污染、噪声低、高效率…

excel根据数据批量创建并重命名工作表

需求 根据一列数据&#xff0c;批量创建并重命名工作表 做法 1. 右键该sheet&#xff0c;选择查看代码 2. 输入VBA代码 正向创建 Sub create_sheets_by_col()Dim num% 定义为integer*num Application.WorksheetFunction.CountA(Sheet1.Range("A:A")) num是非空…

unity宏编译版本

在写c程序的时候我们通常可以用不同的宏定义来控制不同版本的编译内容&#xff0c;最近有个需求就是根据需要编译一个完全体验版本&#xff0c;就想到了用vs的那套方法。经过研究发现unity也有类似的控制方法。 注意这里设置完后要点击右下的应用&#xff0c;我起先就没有设置…

Docker 安装ros 使用rviz 等等图形化程序

Docker 安装ros 使用rviz 等等图形化程序 ubuntu 版本与ros 发行版本对应 如何安装其它版本ros 此时考虑使用docker 易于维护 地址&#xff1a; https://hub.docker.com/r/osrf/ros 我主机是 ubuntu22.04 使用这个标签 melodic-desktop-full 1 clone 镜像到本机 docker pu…

云原生简单综合实验

需求&#xff1a;左边服务器搭建一个web服务&#xff0c;名字为www.rhce.com&#xff0c;目录/nfs/rhce为右边服务器共享的/rhce目录 搭建一个dns解析rhce.com域 右边开启autofs服务为左边服务器提供目录 第一步下载相关软件 左边服务器 [rootnode ~]# yum install nginx…

Vue 新指令 v-memo 案例精析与性能优化

v-memo 用于缓存组件的渲染结果。它通过指定依赖项来决定何时重新渲染组件&#xff0c;只有当依赖项的值发生变化时&#xff0c;组件才会重新渲染&#xff0c;从而提高性能。 使用场景&#xff1a;v-memo 适用于组件的渲染结果在依赖项不变的情况下不应该频繁更新的场景&#x…

Windows 虚拟机服务器项目部署

目录 一、部署JDK下载JDK安装JDK1.双击 jdk.exe 安装程序2.点击【下一步】3.默认安装位置&#xff0c;点击【下一步】4.等待提取安装程序5.默认安装位置&#xff0c;点击【下一步】6.等待安装7.安装成功&#xff0c;点击【关闭】 二、部署TomcatTomcat主要特点包括&#xff1a;…

抖音视频图文根据ID获得评论信息网站源码

抖音视频图文根据ID获得评论信息单页源码&#xff0c;id是视频的id&#xff0c;可以自定义第几条评论开始&#xff0c;不填默认为0&#xff0c;评论数量最大数量50&#xff0c;默认是20。 接口返回参数&#xff1a; "comments": 评论信息集合 { "uid": 评…

【Android面试八股文】请描述一下 android 的系统架构?

Android 是一个基于 Linux 的开源软件堆栈,针对多种不同设备类型打造。下图显示了 Android 平台的主要组件。 早期的Android架构如下图所示 官方网站最新的Android平台架构图,如下所示: Linux 内核 Android 平台的基础是 Linux 内核。例如,Android 运行时 (ART) 依赖…

重生奇迹MU 群战王牌

圣导师是重生奇迹MU游戏中八大职业之一&#xff0c;拥有风度翩翩、潇洒自如的形象和神一样的实力。无论是刷怪、PK、打boss还是混战&#xff0c;圣导师都表现出压制其他职业的强大气势。因此&#xff0c;这个职业在游戏中备受欢迎&#xff0c;人气非常高。 实力强大的二代隐藏…

<数据集>钢板缺陷检测数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;1986张 标注数量(xml文件个数)&#xff1a;1986 标注数量(txt文件个数)&#xff1a;1986 标注类别数&#xff1a;7 标注类别名称&#xff1a;[crescent gap, silk spot, water spot, weld line, oil spot, punchin…

代码检查规则语言CodeNavi中代码语句的节点和节点属性

本文分享至华为云社区《CodeNavi 中代码语句的节点和节点属性》。作者&#xff1a;Uncle_Tom 1. 前期回顾 《寻找适合编写静态分析规则的语言》 根据代码检查中的一些痛点&#xff0c;提出了希望寻找一种适合编写静态分析规则的语言。 可以满足用户对代码检查不断增加的各种需求…

电脑摄像头可以用手机的吗?虚拟摄像头如何下载安装使用?超详细解答

一、电脑摄像头是否可以用手机摄像头代替&#xff1f; 随着电子设备研究的不断发展&#xff0c;电脑与手机之间的连接与互动已经变得越来越便捷。那么&#xff0c;关于电脑摄像头是否可以用手机的问题&#xff0c;答案是肯定的。不过&#xff0c;这通常需要通过一些特定的软件…