Docker项目部署()

1.创建文件夹tools

mkdir tools

配置阿里云 Docker Yum :
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 缓存
yum makecache fast
安装 docker-CE
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/

把数据拖进这个文件夹里面

Docker项目部署()_第1张图片

Docker项目部署()_第2张图片

创建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文件

Docker项目部署()_第3张图片

将配置文件default.conf放在conf里面,将静态素材放到html文件夹里面

Docker项目部署()_第4张图片

运行

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

你可能感兴趣的:(docker,容器,运维)