链接:https://pan.baidu.com/s/136LYscEj6KhMzZ1vJ-ZpxA
提取码:tcdd
Docker 文件描述,类似于 java面向对象中类是实例的描述一样。
FROM : 基础镜像
MAINTAINER: 维护者信息,可以写邮箱地址、公司地址
ADD : 添加文件或文件夹到容器,可以解压 tar.gz, (不可解压zip)
COPY: 复制文件或文件夹到容器
ENV: 设置环境变量
VOLUME : 数据卷目录,用于保存或数据持久化
EXPOSE: 容器对外提供端口
RUN: 构建镜像是运行命令
WORKDIR: 进入容器后的目录地址
可执行SHELL命令和 EXEC 命令,容器启动后执行命令
CMD
ENTRYPOINT
ONBUILD: 构建一个被继承 Dockerfile 时运行命令,父镜像在子镜像继承后触发
## 基础镜像,以Tomcat为基础镜像
FROM tomcat
### 维护者信息,公司地址或个人地址等
MAINTAINER [email protected]
### ADD 和COPY 的区别,都是复制,但是ADD 具有解压包的功能
ADD hiup-research.tar.gz /home/hiup/research/
# 添加 jdk 到容器,tomcat 镜像自带jdk 为11,所以手动更改为8
ADD jdk-8u141-linux-x64.tar.gz /home/hiup/research
# 配置jdk环境变量
ENV JAVA_HOME /home/hiup/research/jdk1.8.0_141
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
# 数据卷目录
VOLUME /tmp
# 进入容器后的目录
WORKDIR /home/hiup/research
###声明开放端口号
EXPOSE 8080
# 设置构建镜像时运行的命令
RUN ["echo","image starting!!!"]
###配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app-springboot.jar"]
# 设置启动容器时运行的命令, 启动Tomcat ,启动 research-web 程序
### 默认 tomcat 镜像,不用手动执行 catalina.sh ,启动容器就启动 tomcat。
## SHELL 命令
# CMD echo container starting!!!
## EXEC 命令
# CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
# CMD /home/hiup/research/apache-tomcat-8.0.23/bin/catalina.sh run
1.进入目录
vim /lib/systemd/system/docker.service
2. 开放2375端口
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
3.重启守护进程
systemctl daemon-reload
4.重启docker
systemctl restart docker
5.验证端口,如下图,出现 2375 端口即开通成功。
netstat -nlpt
②添加Docker地址如图所示
③ idea下方出现Docker 图标
先看下Docker插件有什么好的地方,有容器列表、镜像列表、可以手动启动、停止、删除,还有日志、端口绑定、等等。(当然通过linux来操作也行)-- 个人觉得你命令熟悉了,用这个更简单。
搭建私有仓库参考了 https://www.cnblogs.com/huanchupkblog/p/10843800.html
## 1. 将registry:2 版本为2的仓库地址pull下来
docker pull registry:2
## 2. 查看镜像
docker images
## 3. 启动
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2
## 4. 测试上传一个镜像
docker tag test:latest localhost:5050/test:latest
docker push localhost:5050/test:latest
查看上传的镜像
cd /opt/registry/docker/registry/v2/repositories
org.springframework.boot
spring-boot-maven-plugin
1.5.2.RELEASE
com.djhu.Start
JAR
repackage
src/main/java
**/*.xml
true
com.spotify
docker-maven-plugin
1.0.0
192.168.130.129:5000/${project.artifactId}
java:8
/
${project.build.directory}
${project.build.finalName}.jar
http://192.168.130.129:2375
${project.basedir}/src/main/resources/build
package
build
路径:参考上边docker插件中 地址:${project.basedir}/src/main/resources/build
当然也可以在插件中写,不用写Dockerfile 都可以。
3. 执行 mvn - package ,打包后自动创建镜像。如图:
4. 上传到远程仓库,我的远程仓库地址是: 192,168.130.129:5000
①: 设置ip端口可远程访问
“insecure-registries”:[“192.168.130.129:5000”]
重启守护进程
systemctl daemon-reload
重启docker
systemctl restart docker
重启Docker 后需要重新启动 私有仓库镜像
查看本地启动容器 docker ps
查看本地所有容器 docker ps -a
启动resitry 镜像 docker start [容器id]
容器已启动 docker ps
5. 到idea中来,将springboot 项目上传到 私有仓库
idea 中 – Docker – Images – 右键选中某个镜像 – push Image —>
输入 ip:端口, 有用户名和密码的需要输入用户名和密码,邮箱随便输入一个
repository : 自定义 tag:自定义 如图:
上传中… ,如图:
验证: cd /opt/registry/docker/registry/v2/repositories/
上传成功。。。。。。。