最近因为搭建开源看板网站的需要,玩了下docker

一开始在redhat上安装docker

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
sudo yum update

差几个包更新失败了几次,网速又慢,急的我头疼,最后几个安装包换了centos7自带的base源才搞定。不清楚为啥网易的不行?

之后follow , https://docs.docker.com/engine/installation/linux/centos/

sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=
gpgcheck=
gpgkey=https://yum.dockerproject.org/gpg
EOF
sudo yum install docker-engine
sudo service docker start
sudo docker run hello-world

最后建立docker组,让某普通用户用来执行docker run

sudo usermod -aG docker webmasterXX

ok,开始安装网站

docker pull mquandalle/wekan
docker run -d --name wekan-mongodb mongo
docker run -d --name=wekans --link=wekan-mongodb:db -e MONGO_URL=mongodb://db -e ROOT_URL=http://localhost -p 9090:80  mquandalle/wekan

这样,运行了2个容器,一个db 一个网站

折腾的时候用了用docker几个命令

docker ps
docker rm 44ecaa1c54edd14d4355e9f989c4f34e542d8780089ed91da3d6c53d92c8da1b
docker exec -it 49b9347638b7 /bin/sh
docker kill 5c915fb6d5c3

因为上述mongo运行在容器中,容器杀掉删除,数据无法保存,因此重新部署了 mongo的容器,之前那个--link不能用了,还不知道为啥

docker run -d -v /home/webmasterXX/mongo:/data/db --name wekan-mongodb mongo
docker run -d --name=wekans --link=wekan-mongodb:db -e MONGO_URL=mongodb://db -e ROOT_URL=http://localhost -p 9090:80  mquandalle/wekan

并试了试mongo导出数据的命令

mongo
show dbs
mongo admin  --eval "rs.slaveOk();db.getCollectionNames();"
mongoexport -d admin -c users -o abc.json

网站是ok了,觉得docker真的狠狠狠方便……

补充两个docker命令方便导出文件

docker cp  49b93476387:/usr/share/nginx/html/index.html .
docker cp data-model-hunan.html 49b93476387:/usr/share/nginx/html/.

另外docker停止后重启用到的命令是

docker ps -a
docker start containerId

华丽分割,兴趣大增


于是又试了试搭建一个数据字典网站

docker run -d -p : burke/openmrs-datamodel

这个网站是nginx静态网站,

如果替换nginx里面的html即可生成自己需要的数据字典

于是用docker exec -it进入docker看看nginx里面的html

cd /usr/share/nginx/html

哇塞,不小心看到这个html竟然是用groovy生成的。惭愧,不懂java啊,安装groovy折腾吧(目前还不会自己生成内容)

curl -s get.sdkman.io | bash

装好groovy后运行了一个脚本

groovy my.groovy conf.ini

题外话,groovy有个很坑的地方,会对初始化环境变量进行大量修改,我因此就导致了sftp报错,原来是bashrc找不到JAVA_HOME,然后echo了大量的文本,

最后我重定向init脚本的echo,但groovy还是相当好写的,毕竟是跨平台的脚本。

docker--wekan安装的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. docker 启动安装等命令

    确认是否安装url whereis curl 启动docker服务: sudo service docker start sudo service docker stop 安装curl sudo ap ...

  3. DOCKER windows安装

    DOCKER windows安装 1.下载程序包 2. 设置环境变量 3. 启动DOCKERT 4. 分析start.sh 5. 利用SSH工具管理 6. 下载镜像 6.1 下载地址 6.2 用FTP ...

  4. 在docker里面安装部署应用

    最近一直在做docker的安装打包工作,学到不少东西,在博客里记一下. 环境centos6 ,docker 基础镜象centos6 1.创建本地基础镜象,安装基础命令包 (1)Dockerfile,D ...

  5. Docker Centos安装Redis以及问题处理

    之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...

  6. Docker Centos安装Mysql5.6

    之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...

  7. Docker的安装及简单使用

    1.  Docker的安装 (这里的“安装docker”其实就是安装Docker Engine) $ sudo apt-get intasll docker.io note: apt-get是ubun ...

  8. docker 的安装

    官方站点上有各种环境下的 安装指南,这里主要介绍下Ubuntu和CentOS系列的安装. Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本号系统中已经自带了 D ...

  9. docker 17 安装

    docker17 安装 新增一键安装命令: curl -sSL https://get.docker.com/ | sh 以下为手动安装过程 翻译自 Get Docker for Ubuntu Doc ...

  10. centos7安装docker并安装jdk和tomcat(常用命令)

    阿里专属的镜像加速 在宿主机器编辑文件:vi /etc/docker/daemon.json 阿里专属的镜像加速地址,类似于"https://91cntlkt.mirror.aliyuncs ...

随机推荐

  1. WPF中嵌入普通Win32程序的方法

    公司现在在研发基于.Net中WPF技术的产品,由于要兼容旧有产品,比如一些旧有的Win32程序.第三方的Win32程序等等,还要实现自动登录这些外部Win32程序,因此必须能够将这些程序整合到我们的系 ...

  2. 三线程连续打印ABC

    package test5; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Reentr ...

  3. Perl删除数组中元素的多种方法

    Perl中的数组元素起始引用序号为0,@array的第一个元素为$array[0],依次递增,最后一个元素为$array[-1]或者$#array.如果要删除一个数组中已有的元素,可以用以下几个函数来 ...

  4. 【uTenux实验】信号量

    信号量(semaphore)是一个用来指示可用的资源并将可用资源的数量以数值的形式表示出来的对象.当使用一组资源时,信号量用来实现互斥控制和同步.uTenux提供了信号量出来的API,可以很方便地使用 ...

  5. Android学习笔记(五)

    Intent不仅用来启动一个活动,Intent还可以在启动活动的时候传递参数. 1.向下一个活动传递数据 启动活动的时候传递数据,Intent提供了一系列putExtra()方法的重载,可以把要传递的 ...

  6. Notice: Trying to get property of non-object problem(PHP)解决办法 中间件只能跳转不能返任何数据

    这里实际是调用了一个zend的数据库访问的方法,使用了fetchAll方法,但由于数据库中没有该记录,所以返回的对象是null,所以我就判断对象是否为null: 复制代码代码如下: if($obj== ...

  7. 16.检查是否为BST

    题目描述 请实现一个函数,检查一棵二叉树是否为二叉查找树. 给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树 import java.util.*; /* ...

  8. ios base64图片上传失败问题

    今天做图片上传,后台用的是base64解密图片二进制文件,以前都是用表单上传来解决图片上传的,现在后台没有人改,所以研究下base64上传. 需要将图片base64加密,但是调用 [data base ...

  9. JS settimeout 使用笔记

    无参数使用方法: setTimeout(function_name,delay_time); 基本使用方法是逗号前是函数名字,不能带有 xxxx(),不然不执行: 但是很多函数都要带参数的,以下是解决 ...

  10. 【MySQL】InnoDB: Error: checksum mismatch in data file 报错

    参考:http://www.jb51.net/article/66951.htm 用5.7版本启动原5.5实例后,再用5.5启动出现以下报错 InnoDB: Error: checksum misma ...