2020系统综合实践 第2次实践作业 1.实现一个自定义的web容器服务 2.实现一个自定义的数据库容器服务 3.遇到的问题

获取nginx镜像

sudo docker pull nginx

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

查看镜像情况

sudo docker images

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

启动nginx容器

sudo docker run --name nginx-test -p 8080:80 -d nginx
Sudo docker ps

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

通过浏览器访问8080端口查看
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

进入nginx容器并复制其配置信息:

sudo docker exec -it 9fa0577f4261 /bin/bash
cd /etc/nginx/conf.d
cat default.conf

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

在/usr/share/nginx路径下创建mydir文件夹,并在该文件下创建文件default.conf,其中监听端口自选,根目录就是放配置文件的地方
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

在同一目录下创建dockerfile文件
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

#基础镜像
FROM nginx
#维护人信息
MAINTAINER dyssl

#添加文件
COPY default.conf /etc/nginx/conf.d/
COPY index.html /usr/share/nginx/mydir/
#暴露端口
EXPOSE 5416

在同一目录下创建index.html文件
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

结构大概是这样
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

在配置文件存放的目录下构建镜像(注意不要漏掉点哦)

cd /usr/share/nginx/mydir
sudo docker build -t zyh3nginx .

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

启动容器并映射窗口

sudo docker run --name zyh3nginx -d -p 5416:5416 zyh3nginx

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

最后就可以通过浏览器来访问啦
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

2.实现一个自定义的数据库容器服务

从镜像库中获取mysql:5.7镜像

sudo docker pull mysql:5.7

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

验证查看是否pull成功

sudo docker images

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

在~/路径下创建mysql文件夹,并在该文件下创建文件dockerfile文件
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

#基础镜像
FROM mysql:5.7
#镜像作者
MAINTAINER DysSl
#设置不允许免密登录并设置root密码
ENV MYSQL_ALLOW_EMPTY_PASSWORD no
ENV MYSQL_ROOT_PASSWORD=106741
#将配置文件放到容器中
COPY setup.sh /mysql/setup.sh
COPY schema.sql /mysql/schema.sql
COPY privileges.sql /mysql/privileges.sql
#设置容器启动时执行的命令
CMD ["sh", "/mysql/setup.sh"]

在同一目录下创建启动脚本setup.sh
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

在同一目录下创建脚本命令schema.sql
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

在同一目录下创建权限设置命令privileges.sql
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

在配置文件存放的目录下构建镜像

docker build -t zyh2mysql .

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

启动容器并映射窗口

docker run --name zyh2mysql -d -p 2424:2424 zyh2mysql

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

进入容器

sudo docker exec -it zyh2mysql /bin/bash

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

登录数据库

mysql -u docker -p

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

切换至docker_mysql数据库

use docker_mysql

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

查看Student表中的数据

select * from Student;

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

查看容器的配置信息

sudo docker inspect 3fccf6f5b712

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

3.遇到的问题

当时做web容器服务的时候,访问自己的端口报错403
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

找了非常久内鬼是谁,最后查了一下日志文件发现是权限的问题
2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

sudo docker exec -it 070e18bc500b /bin/bash 
chmod -R 777 /usr/share/nginx/mydir

2020系统综合实践 第2次实践作业
1.实现一个自定义的web容器服务
2.实现一个自定义的数据库容器服务
3.遇到的问题

最后感谢那么多给我帮助的人