第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"]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述