做网站泊头网站怎么做桌面快速链接

张小明 2025/12/29 18:12:17
做网站泊头,网站怎么做桌面快速链接,网站建设专业可行性分析,提供手机自适应网站建设维护这篇文章来源于我自己搭建和调试 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进行投诉反馈,一经查实,立即删除!

潜江网站开发一般做网站服务器的cpu

当量子计算机的阴影逐渐笼罩传统加密算法时,你是否曾思考过如何为数字安全构建量子防护盾?CRYSTALS-Kyber作为NIST认证的后量子加密标准,其纯Python实现为开发者提供了一个零门槛的探索入口。 【免费下载链接】kyber-py A pure python implem…

张小明 2025/12/29 7:16:01 网站建设

品牌营销案例分析仙桃网站优化

Qi2 认证是无线充电联盟(WPC)主导的强制准入流程,核心围绕 WPC 会员准入、Qi ID 注册、鉴权密钥与芯片烧录、实验室双项测试、WPC 审核发证及后续维护展开,全程需严格遵循 WPC 规范,确保产品符合 MPP 磁吸协议、安全鉴…

张小明 2025/12/29 7:15:58 网站建设

网站建设规划书应当包含哪些内容wordpress h5模板

收藏必备!CTF全解析:从定义到6大题型,小白程序员入门网络安全的实战指南 本文全面解析CTF(Capture The Flag)竞赛,介绍其作为网络安全实战训练的本质与价值。详细阐述CTF两种比赛形式(Jeopardy攻防答题赛和Attack-Defense攻防对抗…

张小明 2025/12/29 7:15:55 网站建设

网络推广做哪个网站比较好网站建设实战案例

第一章:Open-AutoGLM实战指南(从零搭建高精度比价机器人)环境准备与依赖安装 在开始构建比价机器人前,需确保本地开发环境已配置Python 3.9及pip包管理工具。Open-AutoGLM目前可通过PyPI直接安装,执行以下命令&#xf…

张小明 2025/12/29 8:50:34 网站建设

昆明网站建设咨询深圳搜索优化

一、CDMA技术原理及在移动通信中的核心优势 CDMA(码分多址)是基于扩频通信技术的多址接入方式,其核心原理是通过不同的伪随机码(PN码)区分用户信号,实现多用户在同一频率和时间资源上的并行通信。在发送端&…

张小明 2025/12/29 8:50:32 网站建设

网站建设项目怎么写seo优化在线诊断

第一章:2024年AI办公革命与智能年报生成新范式2024年标志着人工智能全面融入企业核心办公流程的关键转折点,尤其在年度报告这类高复杂度、强规范性的文档生成领域,AI驱动的自动化范式正在重塑传统工作方式。借助自然语言生成(NLG&…

张小明 2025/12/29 1:43:06 网站建设