centos Dockerfile
| FROM centos:latest | |
| LABEL maintainer "wojiushixiaobai" | |
| WORKDIR /opt | |
| ENV GUAC_VER=0.9.14 \ | |
| LUNA_VER=1.5.0 \ | |
| TOMCAT_VER=8.5.41 | |
| RUN set -ex \ | |
| && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ | |
| && yum -y install kde-l10n-Chinese \ | |
| && yum -y reinstall glibc-common \ | |
| && localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 \ | |
| && export LC_ALL=zh_CN.UTF-8 \ | |
| && echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf \ | |
| && yum -y install wget gcc epel-release git yum-utils \ | |
| && yum -y install python36 python36-devel \ | |
| && yum -y localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm \ | |
| && rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro \ | |
| && rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm \ | |
| && yum install -y java-1.8.0-openjdk libtool \ | |
| && mkdir /usr/local/lib/freerdp/ \ | |
| && ln -s /usr/local/lib/freerdp /usr/lib64/freerdp \ | |
| && yum install -y cairo-devel libjpeg-turbo-devel libpng-devel uuid-devel \ | |
| && yum install -y ffmpeg-devel freerdp-devel freerdp-plugins pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel ghostscript \ | |
| && echo -e "[nginx-stable]\nname=nginx stable repo\nbaseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://nginx.org/keys/nginx_signing.key" > /etc/yum.repos.d/nginx.repo \ | |
| && rpm --import https://nginx.org/keys/nginx_signing.key \ | |
| && yum -y install mariadb mariadb-devel mariadb-server redis nginx \ | |
| && rm -rf /etc/nginx/conf.d/default.conf \ | |
| && mkdir -p /config/guacamole /config/guacamole/lib /config/guacamole/extensions \ | |
| && wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v${TOMCAT_VER}/bin/apache-tomcat-${TOMCAT_VER}.tar.gz \ | |
| && tar xf apache-tomcat-${TOMCAT_VER}.tar.gz -C /config \ | |
| && rm -rf apache-tomcat-${TOMCAT_VER}.tar.gz \ | |
| && mv /config/apache-tomcat-${TOMCAT_VER} /config/tomcat8 \ | |
| && rm -rf /config/tomcat8/webapps/* \ | |
| && sed -i 's/Connector port="8080"/Connector port="8081"/g' `grep 'Connector port="8080"' -rl /config/tomcat8/conf/server.xml` \ | |
| && sed -i 's/FINE/WARNING/g' `grep 'FINE' -rl /config/tomcat8/conf/logging.properties` \ | |
| && echo "java.util.logging.ConsoleHandler.encoding = UTF-8" >> /config/tomcat8/conf/logging.properties \ | |
| && yum clean all \ | |
| && rm -rf /var/cache/yum/* | |
| RUN set -ex \ | |
| && git clone --depth=1 https://github.com/jumpserver/jumpserver.git \ | |
| && git clone --depth=1 https://github.com/jumpserver/coco.git \ | |
| && git clone --depth=1 https://github.com/jumpserver/docker-guacamole.git \ | |
| && wget https://github.com/jumpserver/luna/releases/download/${LUNA_VER}/luna.tar.gz \ | |
| && tar xf luna.tar.gz \ | |
| && chown -R root:root luna \ | |
| && yum -y install $(cat /opt/jumpserver/requirements/rpm_requirements.txt) \ | |
| && yum -y install $(cat /opt/coco/requirements/rpm_requirements.txt) \ | |
| && python3.6 -m venv /opt/py3 \ | |
| && source /opt/py3/bin/activate \ | |
| && pip install --upgrade pip setuptools \ | |
| && pip install -r /opt/jumpserver/requirements/requirements.txt \ | |
| && pip install -r /opt/coco/requirements/requirements.txt \ | |
| && cd docker-guacamole \ | |
| && tar xf guacamole-server-${GUAC_VER}.tar.gz \ | |
| && cd guacamole-server-${GUAC_VER} \ | |
| && autoreconf -fi \ | |
| && ./configure --with-init-dir=/etc/init.d \ | |
| && make \ | |
| && make install \ | |
| && cd .. \ | |
| && ln -sf /opt/docker-guacamole/guacamole-${GUAC_VER}.war /config/tomcat8/webapps/ROOT.war \ | |
| && ln -sf /opt/docker-guacamole/guacamole-auth-jumpserver-${GUAC_VER}.jar /config/guacamole/extensions/guacamole-auth-jumpserver-${GUAC_VER}.jar \ | |
| && ln -sf /opt/docker-guacamole/root/app/guacamole/guacamole.properties /config/guacamole/guacamole.properties \ | |
| && rm -rf guacamole-server-${GUAC_VER} \ | |
| && ldconfig \ | |
| && cd /opt \ | |
| && wget https://github.com/ibuler/ssh-forward/releases/download/v0.0.5/linux-amd64.tar.gz \ | |
| && tar xf linux-amd64.tar.gz -C /bin/ \ | |
| && chmod +x /bin/ssh-forward \ | |
| && mkdir -p /opt/coco/keys /opt/coco/logs \ | |
| && wget -O /etc/nginx/conf.d/jumpserver.conf https://demo.jumpserver.org/download/nginx/conf.d/jumpserver.conf \ | |
| && yum clean all \ | |
| && rm -rf /var/cache/yum/* \ | |
| && rm -rf /opt/luna.tar.gz \ | |
| && rm -rf /var/cache/yum/* \ | |
| && rm -rf ~/.cache/pip \ | |
| && rm -rf /opt/linux-amd64.tar.gz | |
| COPY readme.txt readme.txt | |
| COPY entrypoint.sh /bin/entrypoint.sh | |
| RUN chmod +x /bin/entrypoint.sh | |
| VOLUME /opt/jumpserver/data/media | |
| VOLUME /var/lib/mysql | |
| ENV SECRET_KEY=kWQdmdCQKjaWlHYpPhkNQDkfaRulM6YnHctsHLlSPs8287o2kW \ | |
| BOOTSTRAP_TOKEN=KXOeyNgDeTdpeu9q | |
| ENV DB_ENGINE=mysql \ | |
| DB_HOST=127.0.0.1 \ | |
| DB_PORT=3306 \ | |
| DB_USER=jumpserver \ | |
| DB_PASSWORD=weakPassword \ | |
| DB_NAME=jumpserver | |
| ENV REDIS_HOST=127.0.0.1 \ | |
| REDIS_PORT=6379 \ | |
| REDIS_PASSWORD= | |
| ENV JUMPSERVER_KEY_DIR=/config/guacamole/keys \ | |
| GUACAMOLE_HOME=/config/guacamole \ | |
| JUMPSERVER_ENABLE_DRIVE=true \ | |
| JUMPSERVER_SERVER=http://127.0.0.1:8080 | |
| EXPOSE 80 2222 | |
| ENTRYPOINT ["entrypoint.sh"] |
centos Dockerfile的更多相关文章
- 使用dockerfile,创建gitblit镜像
1. 快速使用gitblit镜像 1.1 push 镜像 # docker pull /gitblit 1.2 查看下载的镜像 # docker images | grep "gitblit ...
- docker使用Dockerfile构建ssh容器
一.使用Dockerfile构建centos 1.创建 Dockerfile mkdir centos # 创建一个目录存放之后的Dockerfile,目录名无所谓 cd centos # 进入目录 ...
- Dockerfile构建镜像实战
目录 一.常见Dockerfile指令 二.编写Centos Dockerfile 2.1.编写Dockerfile 2.2.构建 2.3.查看Docker镜像 2.4.运行镜像 三.CMD和ENTR ...
- Docker的基本使用及DockerFile的编写
前言: 最近在准备面试,在复习到Docker相关内容时,想写一些东西分享给大家然后加深一下自己的印象,有了这篇随笔. Docker的简介: docker从文件系统.网络互连到进程隔离等等,极大的简化了 ...
- docker 常用命令(*)
查找镜像 https://hub.docker.com/ search --> centos7 一般docker 会有一个基础镜像,中间件镜像,应用镜像,生成一个镜像 docker build ...
- docker 12 docker容器数据卷
数据卷概念 ♣我们知道,当我们把一个运行中的容器关闭后,容器里的数据就没有了(如果你做了docker commit操作,数据会保留到新的镜像里面).所以我们就需要用容器数据卷把容器数据进行持久化储存. ...
- 使用docker redis-cluster集群搭建
参考https://www.cnblogs.com/cxbhakim/p/9151720.html此文 主要搭建过程参考上文,此处讲下主要过程和遇到的坑 首先是镜像的基础搭建,我不知道是否是作者编写时 ...
- docker 创建jdk镜像
基于上一个创建的基础镜像, wenbronk/centos Dockerfile ############################################ # version : we ...
- Docker扩展.md
逻辑卷 Volume 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 数 ...
随机推荐
- 静态库 VS 动态库
如何得到库 ①先写好一堆的.c文件(.c:我们所需要的各种工具函数) ②将这些.c编译为对应的.o ③将所有的这些.o打包为一个仓库文件(静态库或者动态库) 静态库:按照静态库的方式打包 动态库:按照 ...
- mr-robot靶机练习
在业余时间进行的靶机练习,也是根据网上的大牛做下来的,重复造轮子吧,但是个人感觉还是即使是造轮子也是需要自己动手呀,毕竟每个人做的过程中遇到的问题是不一样的,这样既可以帮助别人也能锻炼自己.希望可以帮 ...
- 新一代纳秒级高带宽仿真工具平台——HAC Express
HAC Express是基于FPGA的模型仿真开发环境,专注于高精度建模和超高速实时仿真,弥补了传统仿真工具平台无法进行纳秒级仿真的短板. HAC系列自推出以来,经历了从v ...
- Herbert Schildt
赫伯特·希尔特; Herbert Schildt,是世界顶级程序设计大师,全球顶尖编程图书作者之一. www.HerbSchildt.com 1.c/c++的核心设计原理之一就是程序员的控制,java ...
- java中使用redis --- Set集合的简单应用
1.java代码 public class RedisTest01 { public static void main(String[] args){ // connect redis server ...
- 什么是EDID,EDID能做什么,EDID基本介绍
转至 http://blog.csdn.net/Jkf40622/article/details/48311455 Q1: 为什么要写这篇文章? A1:在最近的工作中遇到了不少问题,其中很多都是和ED ...
- JavaScript事件——拖拉事件
拖拉事件的种类 拖拉(drag)指的是,用户在某个对象上按下鼠标键不放,拖动它到另一个位置,然后释放鼠标键,将该对象放在那里. 具体的api可查看 拖拽变色demo <div draggable ...
- win32窗口程序分析
1.分析消息的附加参数 例如:为了查看程序处理了哪些消息 在回调函数中调用输出函数,在控制台中输出消息的值:
- 记录从裸机到TensorFlow GPU版运行 的配置过程
实验室原来有一台装Ubuntu Server系统的服务器,安装有tensorflow,在使用过程中经常出现断网.死机.自动关机等毛病,忍无可忍,决定重装系统 配置如下:Dell工作站,Xeon-E5 ...
- JAVA的选择结构(二)
1.switch选择结构: 语法: switch (key) { ...