Docker安装、部署(镜像构建)-执行Dockerfile

下载deb包的方式:

https://pan.baidu.com/s/1kVkVyuFA71Hn_DXPR-m0pA 提取码:in17 

安装:

sudo  dpkg  -i  docker-ce_18.03.1-ce-0-ubuntu_amd64.deb

测试:

docker  -v

sudo docker run hello-world

装好了Docker的环境之后,这时候可以借助Jenkins打包>>>

https://blog.csdn.net/yxd179/article/details/82910414

(这里给个例子:一般前后端分离项目,这里就有2个服务,若引入Elasticsearch作数据检索,当然也包括存储,这里就还有1个es服务,注:也可将后端服务跟es服务作为一个去打包。)

将容器保存镜像>>>

在容器里修改Nginx或者其他服务的配置文件:

进入容器sudo docker exec -it yx /bin/sh

修改Nginx配置文件vi /etc/nginx/sites-available/default

这里以v2作为一个版本去生成v3,若有容器在运行,则先删除容器sudo docker rm -f ask后sudo docker run --name ask  -itd  ask:v2 /bin/bash

保存镜像sudo docker save -o /home/user/ask.v2.tar.gz ask:v2

生成镜像压缩包:echo 'create yx image'
                             sudo docker rmi -f yx:v3
                             sudo docker commit yx yx:v3

                             echo 'save yx image'
                             sudo rm -rf /home/user/yx.tar.gz
                             sudo docker save -o /home/user/yx.v3.tar.gz yx:v3

(注:镜像---硬盘,容器---内存,其中可能涉及到一些数据文件在容器中的拷贝cp或者跨服务器scp到相应目录即可。)

运行镜像>>>

bash 脚本:sudo docker rm -f yx

                   sudo docker rmi -f yx:v3

                   docker load -i ~/yx.v3.tar.gz

                   sudo kill -9 $(ps -ef|grep Elasticsearch|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')

                   开启各种服务:......

                (echo 'reload nginx ...'
                  sudo service nginx restart
                  sudo nginx -s reload
                  echo 'start web success')

                (echo 'es starting...'
                  sudo -u user /home/user/ask/bin/elasticsearch-5.5.1/bin/elasticsearch -d
                  echo 'es starting success')

                (sudo -u user nohup java -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -                          Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -jar /home/user/yx/jar/yx-web-1.0-                                  SNAPSHOT.jar >/dev/null 2>&1 &)

这样只需要服务器上装了Docker的环境,运行打好的镜像压缩包,即可部署Success......

(注:可封装sh然后bash)

Dockerfile方式:

首先,创建jar包所在文件路径:

进入目录 cd  /home/user/jars

创建文件夹 mkdir dboper

编译jar包,将target下的jar,上传至dboper目录,效果如图所示,

然后,在同目录下,创建Dockerfile文件以及restart.sh跟bootstrap.yml,这里小编通过cp方式处理,

准备工作已完成,接下来开始构建镜像文件,根据当前同目录下的Dockerfile执行,

构建镜像 docker build -t reverse-images -f ./Dockerfile .

查看上述基于jdk1.8打的镜像,

最后,我们基于上述的镜像去启动容器,

docker run -d --name manage-reverse --restart always --network=host --privileged --log-driver json-file --log-opt max-size=100m --log-opt max-file=3 -v /home/gwi/jars/dboper:/usr/jars/  -v /home/logs:/home/logs -v /etc/localtime:/etc/localtime reverse-images

Ok,Now,我们来看一下实时启动日志,

docker logs  -f  --tail  100 manage-reverse

关闭服务,执行 docker stop manage-reverse,重启服务,执行 docker restart manage-reverse,若是通过jenkins去打包-可根据重启脚本sh去自定义。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值