1.创建文件夹tools
mkdir tools
yum install - y yum - utils device - mapper - persistent - data lvm2
yum - config - manager -- add - repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker - ce.repo
yum makecache fast
yum - y install docker - ce
启动docker服务
systemctl start docker
下拉镜像
docker pull nginx
docker pull openjdk
docker pull mysql/mysql-server:5.7
创建自定义网络(报错33改成20,在报错就改成21)
docker network create --subnet=172.33.0.1/16 my_net
部署MySQL容器
新建需要的文件夹
mkdir -p mysql/{conf,data,script}
将my.cnf配置文件放到conf目录中
将book.sql放到script
cd mysql/
cd conf/
把数据拖进这个文件夹里面
创建mysql容器
docker run -itd \
-v /root/tools/mysql/conf/my.cnf:/etc/my.cnf \
-v /root/tools/mysql/data:/var/lib/mysql \
-v /root/tools/mysql/script:/script \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
--name m1 \
--net my_net \
mysql/mysql-server:5.7
进入mysql容器
docker exec -it m1 bash
登录mysql
mysql -uroot -p
创建远程登录的用户
grant all on *.* to root@'%' identified by '123456';
创建数据库,使用数据库
create database shop;
use shop;
将脚本放到对应的文件夹,执行脚本
source /script/book.sql
退出来
查看MySQL容器是否允许
docker ps
进入目录,把架包拖进来
cd /root/tools
编写vim Dockerfile
FROM openjdk:latest
WORKDIR /project
COPY spring.jar /project
CMD java -jar spring.jar --mysql.addr=m1
将spring包放进去
构建镜像
docker build -t boot:v1 .
运行三个容器(必须在自定义网络中)
docker run -itd \
--name b1 \
--net my_net \
boot:v1
docker run -itd \
--name b2 \
--net my_net \
boot:v1
docker run -itd \
--name b3 \
--net my_net \
-p 8080:8080 \
boot:v1
192.168.233.142:8080/book/list
部署nginx
新建nginx文件夹
mkdir -p nginx/{conf.d,html}
docker run -itd \
--name n1 \
-v /root/tools/nginx/conf.d:/etc/nginx/conf.d \
-v /root/tools/nginx/html:/etc/nginx/html \
-p 80:80 \
--net my_net \
nginx
改default.conf文件
将配置文件default.conf放在conf里面,将静态素材放到html文件夹里面
运行
docker run -itd \
--name n1 \
-v /root/tools/nginx/conf.d:/etc/nginx/conf.d \
-v /root/tools/nginx/html:/etc/nginx/html \
-p 80:80 \
--net my_net \
nginx