1 说明
你已经按照了docker。
2.安装组件
2.1 按装jdk
下载安装包,编写Dockerfile
FROM centos:7
MAINTAINER fanling
ADD jdk-8u211-linux-x64.tar.gz /opt/module/
ENV JAVA_HOME /opt/module/jdk1.8.0_211
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
# 构建镜像
[root@VM_0_4_centos software]$ docker build -t jdk8:latest .
# 查看镜像
[root@VM_0_4_centos software]$ docker images
# 启动镜像
[root@VM_0_4_centos software]$ docker run -d -t --name jdk8 jdk8:latest
# 进入容器
[root@VM_0_4_centos software]$ docker exec -it jdk8 /bin/bash
# 检查版本
[root@994d6936e87d /]$ java -version
2.2 安装mysql
# 下载镜像
[root@fanling ~]$ [root@fanling ~]$docker search mysql
[root@fanling ~]$ docker pull mysql
[root@fanling ~]$ docker images |grep mysql
# 运行
[root@fanling ~]$ docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
2.3 部署SpringBoot
将打包好的jar 上传,编写Dockerfile
FROM kdk8:latest
VOLUME /tmp
ADD alita99-service-1.0.0.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
创建和运行
# 创建镜像
[root@VM_0_4_centos alita-boot]$ docker build -t alita:1.0.0 . \
# 运行镜像
[root@VM_0_4_centos alita-boot]$ docker run --net=host --name=alita -d -p 7000:7000 alita:1.0.0
# 查看容器运行
[root@VM_0_4_centos alita-boot]$ docker ps
# 查看日志
[root@VM_0_4_centos alita-boot]$ docker logs [容器id]
注意点:
配置文件中,数据库连接写的是localhost,是宿主机的地址,docker将每个容器划分ip,每个容器就是一个虚拟机,所以会访问不到数据
解决方案1:运行的时候添加
[root@VM_0_4_centos alita-boot]$ docker run --net=host --name=alita -d -p 7000:7000 alita:1.0.0
可以访问到数据库。
补充:查看容器的ip
docker inspect 容器id