这个镜像现在说起来简单,

带bash(增加执行脚本的兼容性,带GLIBC,中国时区,非root用户可运行crond命令-安全)

但让我开始陷入时,真的让我有段时间有点爆了。

比如,将filebeat文件夹放到alpine镜像里,运行filebeat时,死活出一个/bin/sh, ./filebeat not exist这样的提示。

百折千回之后,联想到之前作oracle JDK时,也是强调要使用glibc库,才深夜在家里测试出这个结果。

(但网上没有多少文章强调go程序一定要glibc库)

另外,还有两个要点,记录如下:

1,如果想为alpine设置root密码,好像要0755 busybox, 然后 echo passwd |进文件之类的。

2,在常规linux下,export YESTERDAY=`date -d yesterday +%Y%m%d`此命令,在alpine里要改成

export YESTERDAY=`date -d -24:00:00 +%Y%m%d` ,且没有一致的实现,残念~~~~~~

3,apk add  --update busybox-suid这个是为了能让非root用户运行crond,将脚本里的crontab job加进去。

FROM harbor.paic.com.cn/base/baseos/alpine-glibc:3.7-glibc2.27

RUN  apk add  --no-cache bash\
    &&apk add  --update busybox-suid \
    &&apk add --no-cache -U tzdata \
    &&ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    &&echo "Asia/Shanghai" > /etc/timezone 

一个带bash,带glibc,中国时区,非root用户可运行crond命令的基于alpine镜像的Dockerfile的更多相关文章

  1. 非root用户如何使用docker命令

    docker命令默认只能root使用的,但我们可以赋权给其他用户,使用时先照常新建用户: [root@10 ~]# useradd docker [root@10 ~]# passwd docker ...

  2. 如何在非 sudo 用户下运行 docker 命令?

    当我们在一台 Linux 系统中安装了 Docker 后, 有时候会遇到下面这样的错误, 我们在运行 docker 的命令时必须加上 sudo, 例如: sudo docker ps, 但是我们其实更 ...

  3. 设置开机启动时指定非ROOT用户执行相应的脚本

    [root@MSJTVL-MJSP-A01 sm01]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *afte ...

  4. zzw_非root用户安装python3.5

    目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...

  5. Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用

    Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...

  6. perl 下使用非root用户安装模块

    perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Ex ...

  7. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  8. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

  9. Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境 端口转发方式

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

随机推荐

  1. Java入门:创建多个对象

    当使用一个类实例化多个对象时,多个对象之间是什么关系?他们各自的数据会不会发生混淆?这次课跟大家讲解一下这个问题.学完本次课,大家应该对对象在内存中的表示方式有一个初步的了解,为理解更深入的面向对象概 ...

  2. DNS系统的解析原理

    根据网络通讯原理,对于Router设备是通过IP地址进行路径的Forward:当通过域名(主机名)访问远程主机时,必须将相应的主机名解析为IP地址,DNS服务器就充当了这个角色. DNS的工作原理: ...

  3. navicat链接mysql

    navicat链接mysql

  4. 在MySQL或者SQLServer中,添加对象后自动返回主键到对象模型中的配置方式

    设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中.MySQL和SQLServer执行auto-generated key fiel ...

  5. 让你快速学会Shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合.Shell可以直接使用在win/Unix/Linux上面, ...

  6. xpath定位中详解id 、starts-with、contains、text()和last() 的用法

    1.XPATH使用方法 使用XPATH有如下几种方法定位元素(相比CSS选择器,方法稍微多一点): a.通过绝对路径定位元素(不推荐!) WebElement ele = driver.findEle ...

  7. 监控Elasticsearch的插件【check_es_system】

    监控Elasticsearch的插件推荐  强大的shell脚本 #!/bin/bash ####################################################### ...

  8. Android 动态添加Spinner(.java文件内实现) 实现 改变spinner 内文字属性

    动态添加spinner 控件 Spinner s = new Spinner(this); String []items={"自己定义的要显示的数组"}; my_SpinnerAd ...

  9. JS 数组 foreach 和 map

    本文地址:http://www.cnblogs.com/veinyin/p/8794677.html  foreach 和 map 都是数组的迭代方法,对数组的每一项执行给定函数,不会改变原数组. 两 ...

  10. Tomcat与Spring中的事件机制详解

    最近在看tomcat源码,源码中出现了大量事件消息,可以说整个tomcat的启动流程都可以通过事件派发机制串起来,研究透了tomcat的各种事件消息,基本上对tomcat的启动流程也就有了一个整体的认 ...