这次小熙分享下docker的部署,和对应用jar的镜像生成和访问。
环境和项目:
还是沿用之前apollo中的(java 8、centos7、user-service)
准备:
(1)Docker要求CentOS系统的内核版本高于 3.10 ,通过下面的命令查看你当前的内核版本是否支持docker
uname -r
小熙的版本如图所示:
(2)更新yum包:
sudo yum update
成功如图所示:
(3)安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
成功如图所示:
(4)添加docker镜像仓的yum源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
成功如图所示:
如果不想启动应用jar和访问,可忽略(4)以下
(5)创建配置dockerfile:
如图:
FROM java:8 VOLUME /tmp COPY user_service-1.0.0-SNAPSHOT.jar /dockerimage/user_service-1.0.0-SNAPSHOT.jar ENTRYPOINT ["java","-Xmx256m","-jar","/dockerimage/user_service-1.0.0-SNAPSHOT.jar"] 1.java:8 是使用jdk版本 2.dalaoyang_mgr.jar是使用jar包名称 3.ADD dalaoyang_mgr.jar /dalaoyang.jar 拷贝jar到容器 4.ENTRYPOINT 执行jar文件
查询镜像仓docker版本,并安装:
小熙安装的版本是docker-ce-18.06.0.ce,个人可选择。
(1)查看所有docker镜像:
yum list docker-ce --showduplicates | sort -r
(2)安装对应版本docker:
sudo yum install docker-ce-18.06.0.ce
启动docker、并设置开机自启:
(1)启动docker:
sudo systemctl start docker
(2)设置开机自启:
sudo systemctl enable docker
验证安装是否成功(有client和service两部分表示docker安装启动都成功了):
docker version
查看docker启动状态:
systemctl status docker
查询docker安装过的包:
yum list installed | grep docker
删除安装包:
yum remove docker-ce.x86_64
删除镜像/容器等:
rm -rf /var/lib/docker
准备好可执行jar(这里小熙用的是项目的user-service模块)和dockerfile文件:
构建镜像:(注意最后的点要加,-t 后面加的是镜像名称,小熙也是第一次执行,所以多了java生成的镜像)
docker build -t user-service-image .
可查看生成的镜像:
docker images
启动docker镜像容器服务(将宿主机的8093端口映射到容器的8093端口):
docker run -d -p 8093:8093 user-service-image
(1).-d 后台运行
(2).-p 8093:8093 将docker容器的8093端口映射到服务器上的8093端口
可查看运行中的容器(状态为UP即为成功运行):
docker images
访问验证:
输入以下路径,访问应用镜像,查询返回数据如下图所示。
http://192.168.186.129:8093/userService/1
访问成功如图:
以上就是小熙简单分享的部署docker和相关应用使用了。