Browsed by
Month: October 2016

[Docker] 新建一个Docker Image并push到dockerhub

[Docker] 新建一个Docker Image并push到dockerhub

Preface 软件开发测试过程中的环境配置一直是令人头疼的事情,Docker正是为了解决这种问题而诞生的一套工具,现在已经发展成为了一个生态,使用Docker,可以轻松的部署你的项目,并且保证不同slave机器的环境配置完全一致,当你提交一个patch(commit)之后,想要测试项目的运行的时候, 只需要docker run <your-image>就可以轻松的搭建好项目运行环境,并且访问配置好的服务器端口,就可以访问到刚刚修改后的项目了~ 同时docker结合DroneCI TravisCI等CI平台,使得软件测试也变得十分容易 NEUOJ的健壮性测试,就是在自建的私有DroneCI服务器上运行的 但是因为之前我是直接使用的centos的镜像,没有进行修改,所以之前我们每一次运行测试,都需要下载一大堆软件包,然后才开始运行代码测试, 既费时又费流量(每一次都需要安装200MB的东西) 因而自己新建一个Docker镜像包含这些所有的软件包能省去很多时间以及流量 新建一个Docker镜像 使用docker build命令可以轻松的创建Docker Image 创建docker image需要Dockerfile, Dockerfile描述了这个image要用到的base镜像, 你可以从一个已经存在的镜像开始创建, 也可以Build From Scratch Dockerfile的每一个指令的格式如下 INSTRUCTION args 常用的INSTRUCTION有 FROM: 表示镜像的base是什么,scratch的话表示无base RUN: 执行Shell命令,并将结果打包到images中 CMD: docker run images的时候执行的命令 MAINTAINER: 维护者 以下是一个示例Dockerfile # NEUOJ Test Script Ver1.0 FROM centos:7 MAINTAINER VOID001 <[email protected]> #- uname -a RUN yum install wget -y RUN rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm RUN yum install git -y RUN yum install openssh-clients -y RUN rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # Add php7 Source RUN yum repolist…

Read More Read More

An Encrypted Message

An Encrypted Message

—–BEGIN PGP MESSAGE—– Version: GnuPG v2 jA0EAwMCUqUN4YlAEjHSySUkTCg0aqZGKwvgwTM1FmrmJ8f6EFk1C+oT3kt9wli0 aSGON7N5 =2qe9 —–END PGP MESSAGE—– Pass: My Birthday