Docker 安装
这里安装环境为 Centos7
# 安装依赖
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
# 设置阿里云镜像
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装 docker
$ sudo yum install docker-ce
# 启动 Docker
$ systemctl start docker
Docker 配置
注意这里是开放 Docker 的操作权限,作者是在内网使用所以没什么问题,请自行确认网络环境安全
修改 Docker 配置
#vi /usr/lib/systemd/system/docker.service
将 ExecStart 这一行后面修改为 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 注意这里就是 0.0.0.0 不要修改
# 重新加载配置文件
# systemctl daemon-reload
# 重启 Docker
# systemctl restart docker
查看 Docker 是否在监听 2375 端口
netstat -anp|grep 2375
curl 127.0.0.1:2375/info
安装 Portainer
Portainer
简介:Portainer是一个轻量级的管理界面,可以让您轻松地管理不同的Docker环境(Docker主机或Swarm集群)。Portainer提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。
官方GitHub:https://github.com/portainer/portainer
安装只需一条指令
docker run -d --privileged -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer
安装成功后访问你的服务器 9000 端口即可,注意不要使用 360 浏览器,可以使用 谷歌,搜狗等浏览器
Maven 配置
在 pom 文件中添加插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>myproject/test:0.0.1</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://你的Doker IP :2375</dockerHost>
</configuration>
</plugin>
简要说明一下插件的配置:
① imageName:用于指定镜像名称,其中itmuch是仓库名称,microservice-discovery-eureka是镜像名称,0.0.1是标签名称。
② baseImage:用于指定基础镜像,类似于Dockerfile中的FROM指令。
③ entrypoint:类似于Dockerfile的ENTRYPOINT指令。
④ resources.resource.directory:用于指定需要复制的根目录,${project.build.directory}表示target目录。⑤ resources.resource.include:用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。
dockerHost 指定你的 Docker 服务器监听的端口
运行命令打包
mvn clean package docker:build
可以看到 Docker 镜像已经被推送上服务器了
启动项目
首先是传统的 Docker 命令行启动
docker run -d -p 18080:8080 myproject/test:0.0.1
这里的 -p 18080:8080 是指 将容器内部的 8080 端口映射到服务器的 18080端口上,-d 标识后台运行
myproject/test:0.0.1 是指刚刚上传的镜像及版本号
记得开放防火墙端口权限
接口测试成功
Portainer 管理多个服务器 Docker
Portainer 可以通过 Docker 开放出来的 2375 端口远程管理多个 Docker
首先,在Endpoints 里面新建一个
选择管理 Docker ,填写好你的 IP和端口,确定即可
之后就可以在 Home 目录中自由切换不同的服务器对 Docker 进行管理