纯html网站开发工具快照首页排名优化服务

张小明 2026/1/10 18:51:59
纯html网站开发工具,快照首页排名优化服务,沙漠风网站建设6,揭阳网站制作软件这篇文章来源于我自己搭建和调试 Docker Compose 时的各种实践和踩坑记录 是一点点摸索出来的经验总结#xff1b;如果你发现有更好的做法 或者某些地方值得讨论 欢迎在评论区留言#xff1b;一起把这些细节理顺 把 Compose 玩得更顺手#xff1b; 目录结构 config/ ├──…这篇文章来源于我自己搭建和调试 Docker Compose 时的各种实践和踩坑记录 是一点点摸索出来的经验总结如果你发现有更好的做法 或者某些地方值得讨论 欢迎在评论区留言一起把这些细节理顺 把 Compose 玩得更顺手目录结构config/├── docker-compose.yml ← 我们的核心我文件├── .env.example ← 这个是分享的配置示例├── .env ← 这个是我们自己本地的文件port/username/password...├── Dockerfile ←帮你把 docker-compose.yml 和 .env.example 打包成一个镜像的docker-compose.ymlversion: 3.8 services: # MySQL mysql: image: mysql:8.0 container_name: mysql-nacos env_file: - .env environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} ports: - 3311:3306 volumes: - ./mysql-data:/var/lib/mysql networks: - config_network restart: always networks: config_network: driver: bridgeversion: 3.8:这个可有可无这个是 Docker Compose v1/v2 时期的一个规范号从 Docker Compose V2 开始现在所有 Docker Desktop 都是 V2 现在已经被官方废弃了写不写都行看个人习惯services核心声明这个以后可以在这里面写你需要拉取的服务了这些属性都是什么mysql: image: mysql:8.0image要运行的镜像 → 官方 MySQL 8.0container_name: mysql-nacoscontainer_name你给容器取的名字 方便 docker ps 里识别;env_file: - .envenv_file从当前目录加载.env文件里的变量 比如密码、数据库名;environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD}environment把.env里面的变量注入到容器内部;等于在容器里运行时自动执行MYSQL_ROOT_PASSWORD你的密码这些是 MySQL 官方环境变量 用来初始化数据库ports: - 3311:3306ports把宿主机 → 容器的端口做映射33113306你本机访问容器的 MySQL别人访问你的 MySQLip:3311容器内部服务访问 MySQLmysql:3306volumes: - ./mysql-data:/var/lib/mysqlvolumes数据挂载左边你电脑上的mysql-data右边容器内 MySQL 数据目录容器删了 数据不丢; MySQL 占用空间在宿主机 ;networks: - config_networknetworks让 mysql 和 其他的服务在同一个网络里可以互相访问相当于给它们都加入了一个局域网restart: alwaysrestart 策略容器异常退出会自动重启服务器重启后自动启动.env.env是 Docker Compose 运行时真正加载的环境变量文件也就是说 compose 启动容器的时候依赖的所有变量都从.env拿.env里要写什么就是所有 Compose 里用到的${XXX}值, compose 里包含:MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} SPRING_DATASOURCE_URL: ${NACOS_JDBC_URL} SPRING_DATASOURCE_USERNAME: ${NACOS_DB_USER} SPRING_DATASOURCE_PASSWORD: ${NACOS_DB_PASS}所以.env应该长这样# MySQL MYSQL_ROOT_PASSWORD你的root密码 MYSQL_DATABASE你的数据库名 MYSQL_USER你的用户名 MYSQL_PASSWORD你的用户密码 # NACOS 使用 MySQL 连接 NACOS_JDBC_URLjdbc:mysql://mysql-nacos:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseserverTimezoneAsia/Shanghai NACOS_DB_USER你的数据库用户名 NACOS_DB_PASS你的数据库密码.env.example它是一个 示例环境变量文件 作用很简单用来告诉别人 .env 应该怎么写、有哪些变量需要填真正运行 Compose 的时候 Docker 只认.env默认或你手动指定的env_file.env.example 不会被 Docker 读取 它就是给人看的模板文件文件用途.env真正执行的环境变量自己本地用.env.example提供给别人参考的“模板”不包含敏感值Dockerfiledockerfile是什么一句话Dockerfile 告诉 Docker我要怎么做一个镜像dockerfile文件FROM nginx:latest WORKDIR /share COPY docker-compose.yml . COPY .env.example . CMD [sh, -c, tar -czf - *]它的作用就是帮你把 docker-compose.yml 和 .env.example 打包成一个镜像方便分享Dockerfile 就像食谱FROM基底我选择了 nginx 镜像 仅仅是为了方便本地就有nginx:latest,无需再去拉取 正常应该是为FROM alpine 但是这个需要从 Docker Hub 拉基础镜像本地没 alpine它就要从国外拉 这个就需要魔法了这个时候就有人问了 博主博主 我没有nginx也没有魔法怎么办呢我搜了一下可以替换成FROM debian:stable-slim RUN apt-get update apt-get install -y tar WORKDIR /share COPY docker-compose.yml . COPY .env.example . CMD [sh, -c, tar -czf - *]这个我没有试过 可以试试 如果不行也没有魔法的情况下就下个nginx试试吧 我把代码放在下面了version: 3.8 services: # MySQL mysql: image: mysql:8.0 container_name: mysql-nacos env_file: - .env environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} ports: - 3311:3306 volumes: - ./mysql-data:/var/lib/mysql networks: - config_network restart: always # Nginx nginx: image: nginx:latest container_name: nginx ports: - 80:80 volumes: - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/html:/usr/share/nginx/html - ./nginx/log:/var/log/nginx networks: - config_network restart: always networks: config_network: driver: bridgeWORKDIR在容器里工作目录COPY把你的文件塞进镜像里CMD运行容器时做什么你这里是打包成 tar最终你自己写的文件 → 通过 Dockerfile → 变成镜像 → 推到 Docker Hub → 别人拉取你的 compose 镜像构建镜像登录首先需要先登录我们的docker-hub前往docker-hub登录构建登陆后本地执行命令docker build -t yourname/compose-share:1.0 .注意这里是在目录config执行的参考目录结构这里的“.”指的是所在的这个文件夹docker build -t 你docker-hub登陆的名字 / 你取的名字这个前面一定要是登录的名字 不然到时候push上去会有认证的问题执行以后会弹出类似这样此时你就构建成功了 接下来就要执行docker login因为我们前面登陆过了的话就会自己去验证弹出这样的也是登录成功了推送接下来我们执行推送上去的命令docker push yourname/compose-share:1.0执行后弹出就是推上去成功了如何查看点击前往docker-hub查看打开→我的中心这里可以查看我们上传的所有的镜像如何修改名字有人又问了博主博主 我想改这个镜像的名字怎么办好问题依旧在我们的仓库内部打开因为当前docker-hub不支持修改名字 那么我们就需要创建一个新的仓库创建完了以后就给自己本地刚刚我们构建好的镜像重新打tagdocker tag yourname/compose-share:1.0 yourname/compose-modify:1.0docker tag 你原来的compose文件构建的 你想要修改的名字docker push yourname/compose-modify:1.0直接推上去即可如何覆盖比如你更新了你的 docker-compose.yml 或 .env.example重新 builddocker build -t yourname/compose-share:1.0 .重新 push直接覆盖docker push yourname/compose-share:1.0完成Docker Hub 上的 1.0 就变成新版本了总结改文件 → build → push → 覆盖同名 tag → 完成更新如何获取你的compose 文件Linux / Macdocker run --rm yourname/compose-share:1.0 compose.tar.gz tar -xzf compose.tar.gzWindows PowerShelldocker run --rm yourname/compose-share:1.0 compose.tar.gz tar -xzf compose.tar.gzWindows CMDdocker run --rm yourname/compose-share:1.0 compose.tar.gz tar -xf compose.tar.gz执行完后他们的目录里会出现docker-compose.yml.env.example因为我们已经加了Dockerfile所以不需要输出其他的命令了结语如果你能看到这里 真的非常感谢你的时间希望这些实践经验能帮你少踩一些我踩过的坑如果你有新的想法、遇到奇怪的问题、或想讨论更多 Compose 的玩法 随时欢迎在评论区交流你的每一句反馈 都是推动我继续分享的动力祝你部署顺利
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

有没有专业做steam创客的网站会展设计是什么

RKNN-Toolkit2深度解析:解锁Rockchip NPU平台的AI部署潜能 【免费下载链接】rknn-toolkit2 项目地址: https://gitcode.com/gh_mirrors/rkn/rknn-toolkit2 在AI技术快速落地的今天,边缘计算和嵌入式AI部署已成为行业焦点。RKNN-Toolkit2作为Rock…

张小明 2026/1/7 5:03:51 网站建设

建设网站找网络公司平台app下载

终极指南:5分钟学会使用no-vue3-cron可视化定时任务配置 【免费下载链接】no-vue3-cron 这是一个 cron 表达式生成插件,基于 vue3.0 与 element-plus 实现 项目地址: https://gitcode.com/gh_mirrors/no/no-vue3-cron 还在为复杂的Cron表达式语法而烦恼吗&am…

张小明 2026/1/9 1:49:49 网站建设

做自媒体可以参考的外国网站高清视频线转换线

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 同行可拿货,招校园代理 基于Django防疫站疫苗接种健康系统的设计与实现_d794c578…

张小明 2026/1/6 1:38:14 网站建设

网站设计制作好么哪个网站做x展架比较好 知乎

XUnity自动翻译插件:游戏语言障碍的一站式解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 对于热爱Unity游戏的玩家来说,语言障碍常常成为体验全球优秀作品的绊脚石。XUni…

张小明 2026/1/5 23:30:34 网站建设

湖北建设执业注册中心网站网站建设的公文格式

RPA实时监控希音网站流量,异常告警效率提升20倍!📊 "凌晨3点,运维团队还在手动记录网站流量数据,突然的流量暴跌让整个团队措手不及...这样的惊魂夜该终结了!" 一、痛点直击:流量监控…

张小明 2026/1/9 12:23:00 网站建设