1.安装docker
使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
或者
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2.安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
将可执行权限应用于二进制文件:
$ sudo chmod +x /usr/local/bin/docker-compose
创建软链:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
$ docker-compose --version
docker-compose version 1.24.1, build 4667896b
3.安装registry
docker pull registry
docker run -d -p 5000:5000 -v /opt/registry/data:/var/lib/registry --privileged=true --restart=always --name registry registry:latest
vi /etc/docker/daemon.json
输入
{
"registry-mirrors":["https://hub-mirror.c.163.com"],
"insecure-registries":["192.168.1.18:5000"]
}
重启docker
$ sudo systemctl start docker
4.编写shell脚本
vi xxx.sh
!/bin/bash
#删除原有代码
rm -rf xxx
mkdir xxx
#克隆prod分支代码
#解决git clone要输入用户名密码的问题https://www.cnblogs.com/kb342/p/5566793.html
git clone -b prod http://xxx.xxx.xxx.xxx/xxx.git
echo -e "git clone"
cd xxx
#删除原有镜像
docker rmi xxx &> /dev/null
echo -e "delete origin image xxx"
#删除原有容器
if
docker ps -a | grep xxx
then
docker ps -a | grep xxx | awk '{print $1}' | xargs docker rm -f
fi
echo -e "docker rm -f xxx"
#根据Dockerfile创建镜像
docker build -t xxx .
echo -e "docker build -t xxx ."
#推送镜像到registry
docker tag uibe-web:latest 192.168.1.18:5000/xxx
docker push http://192.168.1.18:5000/xxx
#docker-compose启动服务
cd /xxx
docker-compose up -d
vi docker-compose.yml
version: '3.3'
services:
xxx:
image: 192.168.1.18:5000/xxx:latest
container_name: xxx
environment:
- JAVA_OPTS=-Xms512m -Xmx512m
ports:
- 8090:8090
执行脚本,开始打包
sh xxx.sh