Docker中使用命令COPY-ADD导入文件对权限的影响
发表于|更新于
|浏览量:
1、文件
保留权限原文件的权限
所属用户与组为镜像中的用户
可以使用--chown=jenkins:jenkins来指定用户所属
1 | COPY --chown=1001:1001 sample.txt sample.txt |
2、压缩包(ADD)
保留权限原文件的权限
保留压缩包内文件的用户与组
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐

2020-05-21
OpenShift压测工作必不可少,使用Jmeter搞起来
毫无疑问OpenShift是一个优秀的容器平台,但是我们有没有想过这些问题呢?OpenShift集群最多能运行多少个容器?每个请求的延时是多少呢?当有大量Pod并发启动时,容器平台是否还能轻松应对呢?等等这些问题在容器平台上生产时,我们都得心里有数。否则随着容器平台的压力不断扩大,到了无法承受之痛时,而我们却毫不知情。那么对OpenShift容器平台做压力测试就成了一项必不可少的工作。但是怎样去做呢?业界使用最多的方法就是用Jmeter来模拟API请求进行压测。 新建测试计划与进程组 创建一个名为”测试OpenShift Api”的Test Plan 右击”测试OpenShift Api”,Add->Threads(Users)->ThreadGroup,创建名为”模拟客户端”的Thread Group 右击”测试OpenShift Api”,Add->Listener->Aggregate Report,创建名为“测试OpenShift API Report”的Aggregate Report 通过模拟请求获取访问OpenShift平台的ACCESS_...
2020-05-20
Openshift-gitlab-redmine-testlink集成
Gitlab:使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Redmine:项目管理和bug跟踪工具。TestLink:基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。Redmine作为项目问题及bug收集汇总的地方,gitlab及testlink通过调用redmine的api进行对问题进行更新。那第它们之间是怎么配置的呢?下面就一起来配置下。 Redmine部署与插件安装相关配置在github项目:https://github.com/xhuaustc/redmine-openshift Dockerfile中更新了docker-entrypoint.sh文件,更新了数据库的编码(mysql: utf8mb4 ) 创建镜像 12$ docker build -t harbor.local.com/public/redmine .$ docker push harbor.local.com/public/redmine 在openshift上创建新的项目 创建工程 1$ oc new-project...
2020-05-20
Openshift-Service不仅仅能负载Pod,它还能负载VM等外部服务
Service是Openshift最核心的概念,它可以为一组具有相同功能的Pod提供一个统一的入口,并且将请求负载均衡分发到后端的各个Pod应用上。同时Service在集群下的IP是不变的,保证了请求的可靠性。 Service仅仅只能负载一组Pod吗?No。它还可以对接VM的服务,甚至是物理机的服务。 Service负载Pod 1234567891011121314apiVersion: v1kind: Servicemetadata: name: nginxspec: selector: app: nginx type: NodePort ports: - port: 8080 name: nginx protocol: TCP targetPort: 8080 nodePort: 38080 selector:Label选择器,将选择指定Label的Pod作为被负载Pod type:Service的类型,指定Service的访问方式,默认为ClusterIP。 ClusterIP:虚拟的服务IP地址,该IP...
2020-05-20
OpenShift-Master1彻底挂了,如何恢复?
小强维护着一套生成的OpenShift集群,突然有一天集群的master1节点出现异常,自动关机了。他尝试了多次,都无法开机,怎么办?他需要赶快恢复master1节点,来满足集群的高可用性。 原来的masters在ansible/hosts中的顺序如下 1234567891011121314[masters]master1 ## 重要主节点,安装完后单独保存/etc/etcd/ca中的证书master2master3[etcd]master1master2master3[nodes]master1master2master3 恢复过程如下: 新建一台 master1节点,hostname 与 IP 都和原 master1 节点一致 在master2上恢复master主节点的证书、ca.serial.txt及openshift软件。 通过新增 master 的方式将这个节点重新加回集群 通过新增 etcd 的方法,恢复了这台 master 节点 etcd 的状况 以下是恢复的具体步骤。 一、初始化Master节点 与部署机互信 开启selinux 关闭firew...
2020-05-20
OpenShift根据etcd备份数据恢复etcd集群
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121# ssh master1.etcd.com# ETCD_ALL_ENDPOINTS=` etcdctl3 --write-out=fields member list | awk '/ClientURL/{printf "%s%s",sep,$3; sep=","}'`# etcdctl3 --endpoints=$ETCD_ALL_ENDPOINTS endpoint status --w...
2020-05-20
Openshift集群全环境备份
创建集群全环境备份非常有必要,特别是在生产过程中。当集群发生异常崩溃,数据丢失时,备份的数据就派上了用场,利用备份数据可以将之前的环境重新构建出来。 在Openshift平台,我们可以对集群的完整状态备份到外部存储。集群全环境包括: 集群数据文件 etcd数据库 Openshift对象配置 私有镜像仓库存储 持久化卷 我们要定期对集群作备份,以防止数据的丢失。 集群全环境备份并不是万能的,应用自己的数据我们应该保证有单独的备份。 创建Master节点备份在系统基础架构进行更改,都需要对节点做备份。比如说,系统升级,集群升级或者任何重大更新。通过定期备份数据,当集群出现故障时,我们就能使用备份恢复集群。 Master主机上运行着非常重要的服务:API、Controllers。/etc/origin/master目录下存放着许多重要的文件。 API、Controllers服务等的配置文件 安装生成的证书 云提供商提供的配置文件 密钥和其它身份认证文件 另外如果有额外自定义的配置,比如更改日志级别,使用代理等。这些配置文件在...
