概述
1.先搭建自己私有仓库
阿里云镜像加速器
docker pull registry
1.1.配置私有仓库地址
"insecure-registries": ["192.168.1.119:5000"]
结合我们刚才配置了阿里云的加速镜像地址:
vim /etc/docker/daemon.json
1.2.重启一下docker
systemctl restart docker
1.3.创建容器
docker run -d -p 5000:5000 --name registry docker.io/registry
http://192.168.1.119:5000/v2/_catalog
私有仓库,没有镜像。
1.4.推送镜像到私有仓库
# 标记hello-world该镜像需要推送到私有仓库
docker tag hello-world:latest 192.168.1.119:5000/hello-world:latest
# 通过push指令推送到私有仓库
docker push 192.168.1.119:5000/hello-world:latest
Docker私有镜像仓库搭建及SSL配置
推送镜像到私有仓库。
# 查看仓库镜像列表
http://服务器IP地址:5000/v2/_catalog
https://域名/v2/_catalog
# 查看镜像版本列表
curl http://服务器IP地址:5000/v2/your-image-name/tags/list
curl https://域名/v2/your-image-name/tags/list
1.5.验证从私有仓库下载镜像
# 格式如下:
docker pull 127.0.0.1:5000/镜像名称:镜像版本号
注意细节:那就是要配置一下私有仓库地址,在daemon.json里。最后重启一下docker.
注意:如果同一个镜像,只是通过tag命令重新打标签,然后重新上传到私有仓库,会提示该镜像已经存在。
但是最终结果:还是会上传上去。
2.dockerfile打包springboot项目
2.1.Dockerfile文件
FROM openjdk:8-jdk-alpine
MAINTAINER ymy2017@qq.com
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /mego-pc
WORKDIR /mego-pc
EXPOSE 8071
ADD lib ./lib
ADD demodocker-0.0.1-SNAPSHOT.jar ./
ADD mgcr_pc-0.0.1-SNAPSHOT.jar ./
CMD sleep 120;java $JAVA_OPTS -jar mgcr_pc-0.0.1-SNAPSHOT.jar
注意的点:在添加文件夹的时候,比如 想把当前Dockerfile所在的lib文件夹,复制到docker中的lib目录下,如果不加 ./lib ,则会把所有lib下文件,直接添加到当前目录下。
目录结构:
了解目录结构:docker ADD命令的用法
2.2.生成镜像
docker build -f Dockerfile -t megopc:1.0 .
2.3.运行镜像
docker run --name pc2 -d -p 8072:8071 2f438d0096a4
http://192.168.1.128:8072/app/test
进入容器内部:镜像使用alpine制作:
docker exec -it 容器id /bin/sh
删除某个容器:
docker rm -f 容器id
查看所有的容器,包含没有启动成功的容器:
docker ps -a
获取容器/镜像的元数据:
docker inspect 容器id
注意点:当我们的容器启动失败的时候,我们怎么去分析失败的原因呢?一般就是通过查看容器的日志文件,那具体的日志信息存放在什么路径下呢,就得使用该命令进行查找。
3.日志文件的挂载
很多时候,我们需要把web的日志,直接映射到我们宿主机里。这样不用在查看日志的时候,每次都进入容器中去查看。当然,如果是微服务框架,日志这些都是统一收集起来了。
特别注意:在绑定目录的时候,不能和我们Dockerfile文件中创建存放打包文件放一起。否则我们启动容器的时候,会失败。
docker run --name pc2 -d -p 8071:8071 -v /test:/test1 3999b42a43f7
详解Docker挂载本地目录及实现文件共享
最后
以上就是欣喜黑米为你收集整理的springboot web 项目Docker线上部署1.先搭建自己私有仓库2.dockerfile打包springboot项目3.日志文件的挂载的全部内容,希望文章能够帮你解决springboot web 项目Docker线上部署1.先搭建自己私有仓库2.dockerfile打包springboot项目3.日志文件的挂载所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复