当前位置: 首页 > news >正文

Dockerfile 应用案例-搭建Nginx镜像、部署扫雷、部署可道云平台

Dockerfile 应用案例

一、Dockerfile 构建 Nginx 镜像

1、编写 Dockerfile 内容
[root@docker ~]# vim Dockerfile
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum -y install nginx
EXPOSE 80
CMD [ "/usr/sbin/nginx","-g","daemon off;" ]
2、构建镜像
[root@docker ~]# docker build -t nginx:v1 .
3、运行容器
[root@docker ~]# docker run -itd --name nginx -p 80:80 nginx:v1
4、查看运行状态
[root@docker ~]# docker ps 
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                               NAMES
928784fdfc50   nginx:v1   "/usr/sbin/nginx -g …"   4 seconds ago   Up 3 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx
5、进入容器

发现默认网页 index.html 错误

[root@docker ~]# docker exec -it nginx /bin/bash
[root@928784fdfc50 /]# cd /usr/share/nginx/html/
[root@928784fdfc50 html]# ls

在这里插入图片描述

6、修改并验证
[root@928784fdfc50 html]# rm -rf index.html 
[root@928784fdfc50 html]# echo 12345 > index.html 

在这里插入图片描述

二、Dockerfile 部署扫雷游戏

环境

在这里插入图片描述

1、编写 Dockerfile 内容
[root@docker ~]# vim Dockerfile
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum -y install tomcat unzip
WORKDIR /var/lib/tomcat/webapps/
ADD saolei.zip .
RUN unzip saolei.zip && mv saolei ROOT
ADD init.sh /init.sh
EXPOSE 8080
CMD [ "/bin/bash","/init.sh" ]
2、新建 init.sh 脚本
[root@docker ~]# vim init.sh
#!/bin/bash
/usr/libexec/tomcat/server start
3、构建镜像
[root@docker ~]# docker build -t saolei:v1 .
4、运行容器
[root@docker ~]# docker run -itd --name saolei -P saolei:v1
5、查看运行状态
[root@docker ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                         NAMES
dd8284b90fb9   saolei:v1   "/bin/bash /init.sh"     4 seconds ago    Up 3 seconds    0.0.0.0:32768->8080/tcp, :::32768->8080/tcp   saolei
6、访问网页

在这里插入图片描述

三、Dockerfile 可道云平台部署

1、目录结构准备
[root@docker ~]# mkdir -p /opt/dockerfile/kod
[root@docker ~]# cd /opt/dockerfile/kod/
2、环境准备

在这里插入图片描述

3、Nginx 配置文件
内容
worker_processes 1;
events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root /code;index index.php index.html index.htm;}location ~ \.php$ {root /code;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /code$fastcgi_script_name;include fastcgi_params;}}
}
4、编写 Dockerfile 内容
[root@docker kod]# vim dockerfile 
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum -y install nginx php-fpm php-gd php-mbstring unzip
RUN sed -i '/^user/c user=nginx' /etc/php-fpm.d/www.conf
RUN sed -i '/^group/c group=nginx' /etc/php-fpm.d/www.conf
COPY nginx.conf /etc/nginx/nginx.conf
RUN mkdir /code
WORKDIR /code
ADD kodexplorer4.40.zip .
RUN unzip kodexplorer4.40.zip
RUN chown -R nginx.nginx .
ADD init.sh /init.sh
EXPOSE 80
CMD [ "/bin/bash","/init.sh" ]
5、新建 init.sh 脚本
[root@docker kod]# vim init.sh 
#!/bin/bash
php-fpm -D
nginx -g 'daemon off;'
6、构建镜像
[root@docker kod]# docker build -t kod:v1 .
7、运行容器
[root@docker kod]# docker run -itd --name kod -P kod:v1
8、查看运行状态
[root@docker kod]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                         NAMES
558fe1224a75   kod:v1      "/bin/bash /init.sh"     6 seconds ago    Up 5 seconds    0.0.0.0:32769->80/tcp, :::32769->80/tcp       kod
9、访问网页

在这里插入图片描述

http://www.dtcms.com/a/460828.html

相关文章:

  • 文档抽取技术作为AI和自然语言处理的核心应用,正成为企业数字化转型的关键工具
  • MySQL 数据监控平台
  • 高并发内存池(七):大块内存的申请释放问题以及配合定长内存池脱离使用new
  • 可以为自己的小说建设网站企业官方网站格式
  • 学做静态网站商城设计app网站建设
  • 【Linux系统】线程安全与死锁问题
  • 分布式锁:Redisson的公平锁
  • 精密牙挺在牙齿脱位中的力学控制原理
  • 移动办公型网站开发温州做网站技术员
  • 【SpringAI】第六弹:深入解析 MCP 上下文协议、开发和部署 MCP 服务、MCP 安全问题与最佳实践
  • Unreal开发痛点破解!GOT Online新功能:Lua全监控 + LLM内存可视化!
  • 节后变电站如何通过智能在线监测系统发现「积劳成疾」的隐患?
  • 基于vscode在WSL中配置PlatformIO开发环境
  • C#基础15-线程安全集合
  • 门诊场景评测深度分析报告:医生-病人-测量代理交互对诊断影响机制研究(下)
  • USCTNET:一种用于物理一致性高光谱图像重建的深度展开核范数优化求解器
  • 为什么我的网站没有百度索引量南充市网站建设
  • 常规线扫描镜头有哪些类型?能做什么?
  • 企业级 K8s 深度解析:从容器编排到云原生基石的十年演进
  • 网络产品报价指南--S5735系列交换机
  • 笔记 | 内网服务器通过wifi穿透,设置流量走向
  • 哈尔滨网站建设市场html5网站编写
  • [THREEJS]实战-基础三要素
  • 光谱相机的探测器阵列
  • 怎么更换网站的域名电商公司组织架构图
  • 网上招聘网站开发报告一个简单的网页代码带图片
  • 嵌入式设备轻量级语音识别实战:从STM32到树莓派的智能语音控制
  • AMD KFD的BO设计分析系列6-3: res_cursor--BO物理内存资源的迭代器
  • C#发送邮件到263邮箱服务器教程
  • 淘宝客建网站要钱的吗京东网站建设案例论文