标签: Docker

  • DaoCloud基于Docker快速搭建wordpress

    DaoCloud基于Docker快速搭建wordpress

    一直使用Java生态圈,自己的机器,服务器上都是java环境,也没有用过太多php的东西。

    想迁移博客到wordpress上觉得网上教程那么多,总有办法的,结果一下子就折腾了很多天。

    服务器原来是有nginx和mysql的,但是都不是用apt-get安装的,是阿里云镜像市场找的,所以启动目录,配置位置都不一下。本来想试试nginx+php的,但是网上教程很多,操作每一步也是一样的,但是就是没有效果,连个php helloworld都没有。再 尝试了apache+php,很顺利,因为都是可以apt-get安装的,但是装好了wordpress提示没有mysql的支持。本来简简单单一个

    apt-get install php5-mysql

    就可以搞定,但是它依赖了mysql-common,这样原来的mysql就坏掉了。还好有阿里云快照,尝试手动安装,但是很不顺利,索性准备用docker。

    Docker之前用过,但是主要是有很多免费的docker container,基本是为了当临时免费主机使用。要我完全用Docker搭建wordpress还是有困难的,命令行也不顺,操作和日志都是问题。

    DaoCloud之前用过免费加速,这次就装上了集群管理,安装步骤很简单

    docker-machine

    安装好以后直接用应用编排功能

    wordpress:
      image: wordpress
      restart: always
      links:
      - db:mysql
      ports:
      - 127.0.0.1:8020:80
      volumes:
      - /alidata/data/blog-www:/var/www/html
    db:
      image: mariadb
      restart: always
      volumes:
      - /alidata/data/blog-data:/var/lib/mysql
      environment:
      - MYSQL_ROOT_PASSWORD=密码随意

    创建以后自动启动…

  • 使用Docker构造Jenkins集群

    使用Docker构造Jenkins集群

    Jenkins作为常用的CI功能自然是不用说了,如果运行在上面的项目有很多,而且对于环境的要求各不相同就稍微有点复杂了。

    比如一个Java项目,使用maven构建,Java语言等级为8,但是有部分代码又希望保有java7的语言等级,那么环境上的配置就稍微复杂了一点。

    如果还有其他比如Python,NodeJs项目,那么这个机器的环境就极为复杂了。

     

    Jenkins本身是支持主从节点的,也就是说具体的构建是可以指定由某个节点完成的。

    也就意味着我们只需要提供一个由所需环境的从机即可。当然,由一个独立的主机来提供是最好的,但是很多时候并没有那么多资源,而且环境需求也多变。

    这种情况下Docker就是一个很好的选择了,我们来尝试用Docker提供一个Java8带maven的环境。

    Jenkins主从模式可以有四种方式实现,我们选择最简单的,从ssh登录。

    整体配置如下

    FROM maven:3-jdk-8
    RUN apt-getupdate && apt-get install -y openssh-server
    RUN mkdir /var/run/sshd
    RUN mkdir /var/jenkins
    
    RUN echo'root:jenkins' | chpasswd
    RUN sed -i's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
    
    RUN sed's@sessions*requireds*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd