一:docker的安装
1、查看系统版本: uname -r 【检查内核版本,必须是3.10及以上】
2、更新源: yum update
3、安装需要的软件包: yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置yum源(选择其中一个):
# 中央仓库:我运行报错
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
# 阿里仓库:我选的这个,上面的命令我会报错
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、查看所有仓库中所有docker版本,并选择特定版本安装:
yum list docker-ce --showduplicates | sort -r
#安装最新版本(推荐)
yum install docker-ce
#安装特定版本
yum install docker-ce-版本号
# 例如
yum install docker-ce-18.06.3.ce
6、启动并加入开机启动:
systemctl restart docker
systemctl enable docker
7、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
参考来源:https://www.cnblogs.com/yufeng218/p/8370670.html
https://www.jianshu.com/p/8b569bd79541
二:服务部署
1、后台服务打jar包
2、编写Dockerfile文件:
# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER mmz <sikai.hi@163.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD sdapp.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
#ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom”,作为 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了。
3、在/usr/下创建一个docker文件夹,将Dockfile和jar包放进去,cd /usr/docker/,然后执行:
//-t 参数是指定此镜像的tag名
docker build -t springbootdemo4docker .
4、镜像制作完成,可通过docker images查看:
5、然后启动容器:
//-d参数是让容器后台运行
//-p 是做端口映射,此时将服务器中的8086端口映射到容器中的8089(项目中端口配置的是8089)端口,前台访问用8086
docker run -d -p 8086:8089 springbootdemo4docker