第2次实践作业
第2次实践作业
实现一个自定义的web容器服务
1、从Docker仓库拉取nginx作为基础镜像
sudo dokcer pull nginx
查看镜像:
sudo docker images
2、创建一个容器并运行
sudo docker run -id nginx /bin/bash
3、更改nginx的web存放目录
-
复制对应nginx容器的配置文件,后续修改监听端口备用
sudo docker cp <容器ID>:/etc/nginx/conf.d/default.conf .
注:图中的3a为容器ID前两位(可以唯一标识)
此时可在主机根目录下发现default.conf文件
-
打开default.conf并修改
sudo gedit default.conf
listen为监听端口值,修改为4080;
root为Web默认目录,修改为/usr/SilentSamsara
-
dockerfile:
-
将Dockerfile、default.conf和网页文件放在相同目录下,执行指令:
sudo docker build -t mynginx .
4、创建容器并验证结果
sudo docker run --name my_nginx -p 8866:4080 -d mynginx
浏览器中输入 :
localhost:8866/
(这个Web是在Web程序设计课程写的)
实现一个自定义的数据库容器服务
1、拉取一个mysql:5.7镜像
sudo docker pull mysql:5.7
2、准备工作:
Dockerfile:
setup.sh:
schema.sql:
建立测试用数据库
privileges.sql:
添加用户并授予权限
3、构建镜像并启动容器:
sudo docker build -t my_mysql .
sudo docker run --name msql -p 3306:3306 -d my_mysql
4、进入容器,登录,查询验证
docker exec -it 03 /bin/bash
mysql -u SilentSamsara_t -p
SilentSamsara_t为脚本添加的用户,需要输入创建用户时设定的密码(此处为admin)。
进入数据库(docker_mysql)查询
use docker_mysql
select * from user;
Dockerfile文本
1、自定义的web服务容器
FROM nginx
COPY default.conf /etc/nginx/conf.d/
COPY SilentSamsara /usr/SilentSamsara
maintainer SilentSamsara
EXPOSE 8866
2、自定义的数据库服务容器
FROM mysql:5.7
MAINTAINER SilentSamsara
ENV MYSQL_ALLOW_EMPTY_PASSWORD no
ENV MYSQL_ROOT_PASSWORD = admin
COPY setup.sh /mysql/setup.sh
COPY schema.sql /mysql/schema.sql
COPY privileges.sql /mysql/privileges.sql
CMD ["sh","/mysql/setup.sh"]