1、下载基础镜像

1.登录仓库

docker login 仓库地址 (存放镜像的仓库地址)
Username:账号
Password:密码

2.下载项目基础镜像

docker pull  基础镜像

 

2、生成并上传项目编译镜像

方法一

1、基于下载的基础镜像,启动容器

docker run -i -t --name  XXX (容器名自定义,如:ERP)  基础镜像    bin/bash

2、首先更新源信息,然后安装你所需要的软件

   比如, java项目,需要 安装 JDK , maven, ant,gradle 等 ,项目组按需安装

  C/C++项目,需要安装 gcc/g++ 等 , 如果项目组有自己开发的编译链,也需要做相应安装

方法二

1.通过Dockerfile的FROM引用基础镜像;

 2.在基础镜像内,通过Dockerfile安装编译代码所需的编译链、依赖包等构建项目编译环境 ;

 例如java编译环境:需要安装JDK、Maven、替换maven目录下setting文件等

 dockerfile(根据项目编译要求进行修改)

 3.使用Dockerfile生成镜像 , 执行命令:docker build -t  kwcentos .

 4. 将镜像装载为容器  docker run -i -t --name  XXX (容器名自定义,如:ERP)   kwcentos 

【dockerfile】内容

#基于的基础镜像

FROM   基础镜像

#维护者信息
MAINTAINER  zhangsan zhangsan@163.com

#安装wget工具
RUN yum -y install wget

#安装jdk
RUN mkdir /var/tmp/jdk
RUN wget -P /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz
RUN tar xzf /var/tmp/jdk/jdk-8u111-linux-x64.tar.gz -C /var/tmp/jdk
RUN rm -rf /var/tmp/jdk/jdk-8u111-linux-x64.tar.gz

#安装maven
RUN mkdir /var/tmp/maven
RUN wget -P /var/tmp/maven http://apache.fayea.com/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
RUN tar xzf /var/tmp/maven/apache-maven-3.3.9-bin.tar.gz -C /var/tmp/maven
RUN rm -rf /var/tmp/maven/apache-maven-3.3.9-bin.tar.gz

#用本地的settings.xml替换maven中的settings.xml文件
ADD settings.xml /var/tmp/maven/conf/settings.xml

#设置环境变量 
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_111
ENV M2_HOME /var/tmp/maven/apache-maven-3.3.9
ENV PATH $PATH:$JAVA_HOME/bin:$M2_HOME/bin

3、此容器生成的镜像推送到服务器

从容器中退出,执行命令:

 docker   commit    8692e4cde1b9     镜像地址/镜像名:tag            #生成镜像

docker     push     镜像地址/镜像名:tag            #推送到指定目录下

 #其中,8692e4cde1b是容器的ID(查看容器I,执行命令: docker ps -a),镜像名建议自定义,tag也自行定义标识。

 

修改镜像地址方法:
docker pull 源镜像 (比如 docker.com.cn:5000/dirwolf/fortify:16.20)
docker tag 源镜像 docker.artnj.com.cn/迁移后目录名称/镜像名:tag

push镜像:docker push docker.artnj.com.cn/迁移后目录名称/镜像名:tag

 

docker常用命令:

进入到启动中的容器。退出后不会停止容器
docker exec -it cca_blackduck /bin/bash

--查看所有容器
docker ps -a

--查看刚刚保存的镜像
docker images

--启动容器
docker start cca_blackduck1【容器名称】
--进入容器
docker attach cca_blackduck1 【容器名称】

下载容器文件
首先退出容器,然后在linxu系统中执行 docker cp a08782ab7841:/local/code /root

上传容器文件
首先退出容器,然后linux系统中执行 docker cp /root/anaconda-ks.cfg a08782ab7841:/local/


ENV CLASSPATH .:$JAVA_HOME/lib:$JAVA_HOME/jre/lib\
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar