目录
nginx 是特定的前端服务器 ?由它转发给其它容器 作用类似与网关
- ?? ?反向代理,负载均衡(规则:轮询,权重)
- ?? ?动静分离
删除容器
docker rm -f $(docker ps -aq)
?生成容器
docker run \
--name m1 \
-v /soft/mysql/conf/my.cnf:/etc/my.cnf \
-v /soft/mysql/data:/var/lib/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
--net mynet \
-d mysql/mysql-server:5.7
?配置镜像,编辑Dockerfile文件
FROM openjdk
WORKDIR /project
COPY spring.jar /project
CMD java -jar spring.jar --mysql.addr=m1
?构建镜像
docker rmi spring:v1
docker build -t spring:v1 .
?创建数据库,运行sql文件
docker exec -it m1 bash
mysql -u -root -p
#授予所有权限
grant all on *.* to dbl@'%' identified by '123456';
#执行sql脚本 但是sql脚本上传不到容器中 所以使用目录挂载的形式
source /var/lib/mysql/book.sql
docker pull nginx
docker rm -f n1
docker run -itd -p 80:80 --name n1 nginx
无法使用 vim 指令 ,所以需要进行目录挂载,通过目录挂载的形式配置文件和静态页面
mkdir -p /soft/nginx/conf.d
cd /soft/nginx/conf.d
上传配置文件 html ,default.conf?
#进入容器
docker exec -it nginx bash
docker run -itd \
--name n1 \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-v /soft/nginx/html:/etc/nginx/html \
-p 80:80 \
--net mynet \
--ip 172.20.0.104 \
nginx
第一个 -v :挂载 nginx 的主配置文件,以方便在宿主机上直接修改容器的配置文件第二个 -v :挂载静态页面目录
修改windows文件实现实现域名映射才能生效
c://windows//system32//drivers//etc//hosts