linux安装
docker
[root@A ~]# yum -y install docker
# 启动docker
[root@A ~]# systemctl start docker
# 查看docker的运行状态
[root@A ~]# systemctl status docker
开启远程访问
- Docker默认是不允许远程访问的
# 修改配置文件
[root@A ~]# vim /lib/systemd/system/docker.service
找到
ExecStart=/usr/bin/dockerd
这行修改为下面代码(如果和截图的配置不一样的话 只改行代码就行 其他配置无需理会)
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
# 重新加载配置文件
[root@A ~]# systemctl daemon-reload
# 重启docker
[root@A ~]# service docker restart
# 查看端口是否开启
[root@A ~]# netstat -nlpt
# 验证端口是否生效
[root@A ~]# curl http://192.168.204.141:2375/info
IDEA
集成插件
在
Plugins
中搜索
Docker
,并安装
配置docker镜像家属器(
https://owi3yzzk.mirror.aliyuncs.com)
Docker
的
Maven
插件
- 传统的过程中,要经历打包,部署,上传到linux,编写Dockerfile,构建镜像,创建容器等步骤
- docker-maven-plugin就是帮助我们在开发构成中,自动生成镜像并推送到仓库中
配置pom.xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!--镜像名称 mzj/test-docker-demo-->
<imageName>mzj/${project.artifactId}</imageName>
<!--标签版本-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!--基础镜像,相当于Dockerfile里的from-->
<baseImage>java</baseImage>
<!--作者信息-->
<maintainer>mzj angiersun@lagou.com</maintainer>
<!--入口点,project.build.finalName就是project标签下的build标签下的filename标签内容,test-docker-demo-->
<!--相当于启动容器后,会自动执行java -jar/test-docker-demo.jar-->
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<!--docker地址-->
<dockerHost>http://192.168.58.200:2375</dockerHost>
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<!--复制的根目录,target-->
<directory>${project.build.directory}</directory>
<!--把哪个文件上传到docker,相当于Dockerfile里的add test-docker-demo.jar /-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
执行命令
- 对项目进行打包,并构建镜像到docker上
- 第一次执行多等一会,要拉取java的环境等等操作
在当前项目下执行该命令
mvn clean package docker:build
- 命令执行完成,会自动将jar包镜像推送到docker
- 在idea的docker界面,根据镜像创建容器即可。
- “一个镜像可以创建N个容器”
如果出现以下的错误,请执行对应的命令即可,都是找不到可执行文件的原因
[root@A ~]# cd /usr/libexec/docker/
[root@A docker]# ln -s docker-proxy-current docker-proxy
访问:
http://IP地址:9001
9001是创建容器时映射的端口号