开发环境部署服务
概述
这节我们将之前Web
应用服务通过Docker
进行部署,主要将部署数据库服务 Mysql
和 应用程序 app.jar
。而且应用程序需要访问数据服务,所以涉及到俩个容器间需要通信,这里我们将学习Docker Network
解决容器间通信问题。
什么是 Docker Network?
创建网络
docker network create servers
启动容器
容器间相互访问
部署 Mysql
创建工作目录/usr/local/docker/mysql
后续Mysql
部署所有操作将在这个目录下展开。
制作 Mysql
镜像
创建 Dockerfile
文件
FROM mysql:8.0.17
##配置环境变量
ENV MYSQL_ROOT_PASSWORD="123456"\
MYSQL_USER="jerry"\
MYSQL_PASS="123456"
##数据卷映射
VOLUME /var/lib/mysql
执行docker
命令制作镜像
docker build -t server-mysql:1.0
查看镜像是否制作成功
docker images
返回结果,如图表示直接镜像成功
启动 Mysql
创建目录 data
用来做 Mysql
数据存放目录数据卷映射地址。
docker run -d -v data:/var/lib/mysql -p 3306:3306 --network servers --network-alias mysql.com server-mysql:1.0
部署应用
创建工作目录/usr/local/docker/servers/demo
后续`应用部署所有操作将在这个目录下展开。
制作应用镜像
创建Dockerfile
FROM openjdk:8
##指定jar 包名
ENV APP_NAME "app.jar"
##创建项目目录
RUN mkdir -p /usr/local/app
##复制jar到容器
COPY *.jar /usr/local/app
##指定工作目录到jar目录下
WORKDIR /usr/local/app
CMD ["java", "-jar","app.jar"]
执行docker
命令制作镜像
docker build -t demo:1.0 .
查看是否制作成功
启动应用
docker run -d -p 9000:9000 --network servers demo:1.0