docker images
docker container ls
docker ps
docker stop
docker rm
docker push rd-server:5000/ubuntu
停止并删除容器
docker stop pid && docker rm -v pid
删除tag
docker rmi -f hub.doge.com/ubuntu:latest
openssl生成证书
在home下创建auth目录和certs目录
openssl genrsa -out dockerreg.cg.glodon.com.key 2048
openssl req -newkey rsa:4096 -nodes -sha256 -key dockerreg.cg.glodon.com.key -x509 -days 3650 -out dockerreg.cg.glodon.com.crt
拷贝证书给docker
cp ~/certs/dockerreg.cg.glodon.com.crt /etc/docker/certs.d/dockerreg.cg.glodon.com/
客户端安装证书
把crt文件拷贝到客户端的相同位置,如果不行就用下面的渔具执行以下
cat 证书名.crt >>/etc/pki/tls/certs/ca-bundle.crt
设置注册中心用户名密码
docker run --entrypoint htpasswd registry:2 -Bbn 用户名 密码 >> htpasswd
注册中心启动
docker run -d
--restart=always
--name registry
-v `pwd`/auth:/auth
-e "REGISTRY_AUTH=htpasswd"
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd
-v `pwd`/certs:/certs
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/dockerreg.cg.glodon.com.crt
-e REGISTRY_HTTP_TLS_KEY=/certs/dockerreg.cg.glodon.com.key
-p 443:5000
registry:2
运行centos
docker run -i -t centos:7 /bin/bash
进入容器
docker exec -i -t pid /bin/bash
登录私服
docker login dockerreg.cg.glodon.com:443
向私服中注册image
docker tag image的pid dockerreg.cg.glodon.com:443/centos:7.3.1611
基础Dockerfile
FROM dockerreg.cg.glodon.com:443/centos:7.3.1611
MAINTAINER fanc
ADD apache-tomcat-8.0.46.tar.gz /usr/local/tomcat
ADD jdk-8u111-linux-x64.gz /usr/local/java/
ENV JAVA_HOME /usr/local/java/jdk-8u111-linux-x64/
ENV JAVA_OPTS -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m
EXPOSE 8080
CMD /usr/local/tomcat/apache-tomcat-8.0.46/bin/catalina.sh run
构建基础image
docker build -t centos7jdk8tomcat8 .
运行
docker run --name centos7jdk8tomcat8 centos7jdk8tomcat8:latest
项目Dockerfile
FROM dockerreg.cg.glodon.com:443/centos7jdk8tomcat8:latest
MAINTAINER fanc
COPY project/target/gjc-buyer-web-6.0.0-SNAPSHOT/ /usr/local/tomcat/apache-tomcat-8.0.46/webapps/cg/
COPY project/deploy/ /usr/local/deploy/
COPY project/deploy/alpha/ /usr/local/tomcat/apache-tomcat-8.0.46/webapps/cg/
COPY project/deploy/alpha/Tomcat/ /usr/local/tomcat/apache-tomcat-8.0.46/
RUN rm -rf /usr/local/tomcat/apache-tomcat-8.0.46/webapps/cg/Tomcat
RUN mkdir -p /home/upload/gjc6/gjc_upload
jenkins打包后的shell
#!/bin/bash
dockerfiledir="/root/fanc_docker/gjc6-buyer"
project="gjc6-buyer"
projectdir="project"
uploaddir="/home/upload/gjc6/gjc_upload"
workspace="/root/.jenkins/workspace/gjc6.0-buyer/gjc-buyer-web"
date=`date +%Y%m%d%H%M`
pid=`docker container ls -a | grep $project | awk '{print $1}'`
docker stop $pid && docker rm -v $pid
cd $dockerfiledir
if [ ! -d "$projectdir" ]; then
mkdir $projectdir
else
rm -rf $projectdir
mkdir $projectdir
fi
if [ ! -d "$uploaddir" ]; then
mkdir -p $uploaddir
fi
cp -rf $workspace/* $projectdir/
docker login -u fanc -p 111111 dockerreg.cg.glodon.com:443
docker build -t $project:$date .
docker run -p 85:8080 -v $uploaddir:$uploaddir --restart always --name $project $project:$date &
正式环境Dockerfile
FROM gjc6-buyer:201708291622
MAINTAINER fanc
RUN cp -rf /usr/local/deploy/release/. /usr/local/tomcat/apache-tomcat-8.0.46/webapps/cg/
RUN cp -rf /usr/local/deploy/release/Tomcat/. /usr/local/tomcat/apache-tomcat-8.0.46/
RUN rm -rf /usr/local/tomcat/apache-tomcat-8.0.46/webapps/cg/Tomcat
正式镜像打包shell
#!/bin/bash
dockerfiledir="/root/fanc_docker/gjc6-buyer-release"
project="gjc6-buyer"
date=`date +%Y%m%d%H%M`
docker login -u fanc -p 111111 dockerreg.cg.glodon.com:443
docker build -t $project:release-$date .
pid=`docker images | grep $project | grep release-$date | awk '{print $3}'`
docker tag $pid dockerreg.cg.glodon.com:443/$project
docker push dockerreg.cg.glodon.com:443/$project
正式环境下载镜像shell
#!/bin/bash
project="gjc6-buyer"
uploaddir="/home/upload/gjc6/gjc_upload"
pid=`docker container ls -a | grep $project | awk '{print $1}'`
docker stop $pid && docker rm -v $pid
docker login -u fanc -p 111111 dockerreg.cg.glodon.com:443
docker pull dockerreg.cg.glodon.com:443/$project
if [ ! -d "$uploaddir" ]; then
mkdir -p $uploaddir
fi
docker run -d -p 85:8080 -v $uploaddir:$uploaddir --restart always --name $project dockerreg.cg.glodon.com:443/$project
SVN同步批处理脚本
@echo off
setlocal enabledelayedexpansion
echo %date% %time%
for /f %%i in (project.txt) do (
set url=%%i
set path_old=!url:http://server-code/GJC/GJC/=!
set path=repo!path_old:/=!
echo delete path
if exist !path!_temp (
rmdir /S /Q !path!_temp
)
echo checkout !url!
"C:Program FilesVisualSVN Serverinsvn.exe" export -r HEAD !url! !path!_temp -q --username fanc
if exist !path! (
"C:Program FilesVisualSVN Serverinsvn.exe" update -r HEAD !path! -q --username fanc
del /Q /F /A:-H !path!*.*
for /d %%j in (!path!*) do rd /S /Q "%%j"
) else (
"C:Program FilesVisualSVN Serverinsvn.exe" checkout -r HEAD https://192.168.8.152:8443/svn/GJC/!path_old! !path! -q --username fanc
)
"C:WindowsSystem32xcopy.exe" !path!_temp !path! /Y /Q /S /E /H
"C:Program FilesVisualSVN Serverinsvn.exe" add !path!* -q --force --username fanc
"C:Program FilesVisualSVN Serverinsvn.exe" commit !path! -q --username fanc --message commit
echo success!
)