当前位置: 首页 > news >正文 电子产品网站建设模板抖音代运营案例 news 2025/11/3 15:28:37 电子产品网站建设模板,抖音代运营案例,网站查备案密码,wordpress唱片公司模板Docker Compose简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose#xff0c;您可以使用 YML 文件来配置应用程序需要的所有服务。然后使用一个命令#xff0c;就可以从 YML 文件配置中创建并启动所有服务。而DockerCompose作为一种容器编排工具您可以使用 YML 文件来配置应用程序需要的所有服务。然后使用一个命令就可以从 YML 文件配置中创建并启动所有服务。而DockerCompose作为一种容器编排工具可以让我们轻松地配置和管理多个Docker容器从而快速搭建PHP开发环境。 Compose 使用的三个步骤 使用 Dockerfile 定义应用程序的环境。使用 docker-compose.yml 定义构成应用程序的服务这样它们可以在隔离环境中一起运行。如果你还不了解 YML 文件配置可以先阅读 YAML 入门教程。最后执行 docker-compose up 命令来启动并运行整个应用程序。 安装docker Ubuntu 依次执行下面的命令 # 更新apt sudo apt update sudo apt upgrade # 安装依赖 sudo apt-get install ca-certificates curl gnupg lsb-release # 添加Docker官方GPG密钥 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # 配置Docker镜像源 sudo add-apt-repository deb [archamd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable # 安装docker sudo apt-get install docker-ce docker-ce-cli containerd.io # 配置用户组可选 sudo usermod -aG docker $USER # 查看版本检查是否安装成功 docker --version # 启动docker一般安装完会自动启动如果没有启动请手动执行 systemctl start dockerCentOS 依次执行下面的命令 # 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 # 配置Docker镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum软件包索引 yum makecache fast # 安装docker yum install docker-ce # 查看版本检查是否安装成功 docker --version # 启动docker一般安装完会自动启动如果没有启动请手动执行 systemctl start docker安装docker-compose 访问Releases · docker/compose (github.com)查看最新版本 然后依次执行下面的命令 # 下载docker-compose文件自行修改版本号 sudo curl -L https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose# 给他执行权限 sudo chmod x /usr/local/bin/docker-compose# 查看是否安装成功 docker-compose --version如果觉得下载慢可以将github.com替换为其他镜像域名加速下载例如 sudo curl -L https://hub.nuaa.cf/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-composedocker-compose初始配置 创建初始 docker-compose.yml 文件不含各服务的配置文件映射在哪个目录不做要求内容如下自行修改项目路径和配置文件路径为自己的电脑文件夹路径我这里新建在home/docker目录下 #yaml 配置实例 version: 3 services:php:container_name: php7.4image: php:7.4-fpmrestart: alwaysprivileged: trueports:- 9000:9000volumes:- /home/www:/var/www # php代码目录nginx:container_name: nginximage: nginx:latestprivileged: truerestart: alwaysenvironment:- TZAsia/Shanghaiports:- 80:80- 443:443depends_on:- phpvolumes:- /home/www:/var/www # php代码目录- /home/docker/nginx/logs:/var/log/nginx # nginx日志文件mysql:image: mysql:5.7container_name: mysql5.7privileged: truerestart: alwaysports:- 3306:3306volumes:- /home/docker/mysql/data:/var/lib/mysql # mysql数据目录- /home/docker/mysql/log:/var/log/mysql # mysql日志文件- /etc/localtime:/etc/localtime:ro # 让容器的时钟与宿主机时钟同步避免时间的问题ro是read only只读的意思environment:- MYSQL_ROOT_PASSWORD123456 # root账户密码redis:image: redis:latestcontainer_name: redisprivileged: truerestart: alwaysports:- 6379:6379command: redis-server /usr/local/redis/conf/redis.conf # 启动redis服务并指定配置文件volumes:- /home/docker/redis/data:/data # redis数据目录- /home/docker/redis/conf/redis.conf:/usr/local/redis/conf/redis.conf #redis配置文件常用参数说明 version指定Docker Compose文件的语法版本3是当前广泛使用的版本 services要运行的服务里面是各个服务名称和服务配置 container_name容器名称 image使用的镜像名称 restart容器在退出后的行为[always总是重启容器no不重启unless-stopped重启容器除非容器被手动停止on-failure退出状态码不为0即失败时自动重启该容器] networks将当前容器加入到这个网络中以方便数据传输默认是使用brige连接方式名为docker_default的网络但重启容器后会改变ip地址如果要固定容器ip就要自定义网络 volumes宿主机和容器的目录映射 environment添加环境变量可添加一个或多个键值对布尔含义的值要用引号包裹 ports宿主机和容器的端口映射 build使用当前目录下的dockerfile构建 expose暴露容器端口但不映射到宿主机只通过ip等方式访问容器的时候访问 depends_on以依赖性顺序启动服务先启动depends_on中的服务再启动当前服务注意事项服务启动不会等依赖服务里面的程序启动完才启动只依赖服务是否启动 privileged给容器root权限 启动服务 在 docker-compose.yml 文件所在的目录下执行下面的命令一键启动所有服务 docker-compose up现在打开浏览器访问locahost应该能访问到nginx的首页了如果你是在本地电脑或虚拟机的docker需要在宿主机添加hosts文件ip映射 # 将ip改为你的服务器ip 192.168.204.128 demo.net下面是docker-compose的其他命令 # 一键启动所有服务 docker-compose up# 或者启动所有服务并在后台运行 docker-compose up -d# 停止服务 docker-compose stop# 重启服务 docker-compose restart# 进入指定容器 docker-compose exec [service_name] bash# 查看容器状态 docker-compose ps复制配置文件 如果你不需要自定义配置各个服务可以跳过这个也不用下一步调整docker-compose配置 复制容器的默认配置文件到宿主机冒号前是容器名称冒号后面是容器中配置文件的路径最后是宿主机的配置文件存放目录如果宿主机目录不存在请创建 # nginx sudo docker cp nginx:/etc/nginx/nginx.conf /home/docker/nginx/nginx.conf sudo docker cp nginx:/etc/nginx/conf.d /home/docker/nginx/conf.d # php sudo docker cp php7.4:/usr/local/etc/php/php.ini-production /home/docker/php/php.ini # mysql sudo docker cp mysql5.7:/etc/my.cnf /home/docker/mysql/my.cnf # redis 自动生成空白配置调整docker-compose配置 这个配置加入了各个服务自定义的配置文件映射先执行docker-compose stop停止服务然后用下面的配置替换上面 docker-compose.yml 文件的初始配置然后重新启动服务即可 #yaml 配置实例 version: 3 services:php:container_name: php7.4image: php:7.4-fpmrestart: alwaysprivileged: trueports:- 9000:9000volumes:- /home/www:/var/www # php代码目录- /home/docker/php/php.ini:/usr/local/etc/php/php.ini # php配置文件目录nginx:container_name: nginximage: nginx:latestprivileged: truerestart: alwaysenvironment:- TZAsia/Shanghaiports:- 80:80- 443:443depends_on:- phpvolumes:- /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf # nginx配置文件目录- /home/docker/nginx/conf.d:/etc/nginx/conf.d # nginx虚拟主机配置文件目录- /home/www:/var/www # php代码目录- /home/docker/nginx/logs:/var/log/nginx # nginx日志目录mysql:image: mysql:5.7container_name: mysql5.7privileged: truerestart: alwaysports:- 3306:3306volumes:- /home/docker/mysql/data:/var/lib/mysql # mysql数据目录- /home/docker/mysql/my.cnf:/etc/my.cnf # mysql配置文件- /home/docker/mysql/log:/var/log/mysql # mysql日志文件- /etc/localtime:/etc/localtime:ro # 让容器的时钟与宿主机时钟同步避免时间的问题ro是read only只读的意思environment:- MYSQL_ROOT_PASSWORD123456 # root账户密码redis:image: redis:latestcontainer_name: redisprivileged: truerestart: alwaysports:- 6379:6379command: redis-server /usr/local/redis/conf/redis.conf # 启动redis服务并指定配置文件volumes:- /home/docker/redis/data:/data # redis数据目录- /home/docker/redis/conf/redis.conf:/usr/local/redis/conf/redis.conf #redis配置文件新建站点 创建站点配置文件例如网站域名是http://demo.net那么就在ngxin/conf.d目录下新建一个demo.net.conf cd /home/docker/nginx/conf.d sudo vi demo.net.conf文件内容如下 server {listen 80;server_name www.demo.net demo.net;root /var/www/demo;index index.php index.html;location ~ \.php(.*)$ {fastcgi_pass php:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).\.php)(/?.)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include fastcgi_params;} }注意修改你的root为容器里的代码目录server_name为你的域名 在你的站点代码目录新建php文件内容随便写 cd /var sudo mkdir www cd ./www sudo mkdir demo sudo vi test.php?php echo hello world;如果你是在本地电脑或虚拟机的docker需要在宿主机添加hosts文件ip映射 # 将ip改为你的服务器ip 192.168.204.128 demo.net然后重启服务现在打开浏览器访问http://demo.net/test.php就能看到输入的hello world了 常见问题 laravel、thinkphp等框架站点配置伪静态示例 server {listen 80;server_name hello.net;root /var/www/hello/public; # 站点根目录include /var/www/hello/public/nginx.htaccess; # 配置伪静态location ~ \.php(.*)$ {fastcgi_pass php:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).\.php)(/?.)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include fastcgi_params;} }laravel框架报错The stream or file /var/www/hello/storage/logs/laravel.log could not be opened in append mode: failed to open stream: Permission denied The exception occurred while attempting to log 原因日志目录没有权限 解决sudo chmod -R 777 storage laravel框架报错could not find driver (SQL: select * from admin_userswhereusername admin limit 1) 原因没有安装php-pdo驱动 解决 1.进入php容器一次执行下面的命令安装驱动 docker-compose exec php bash docker-php-ext-install pdo pdo_mysql2.在php.ini文件添加扩展 extensionpdo_mysql3.重启容器 文章转载自: http://www.morning.wmmjw.cn.gov.cn.wmmjw.cn http://www.morning.gxtfk.cn.gov.cn.gxtfk.cn http://www.morning.dtnzk.cn.gov.cn.dtnzk.cn http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn http://www.morning.wdskl.cn.gov.cn.wdskl.cn http://www.morning.smmby.cn.gov.cn.smmby.cn http://www.morning.gnbfj.cn.gov.cn.gnbfj.cn http://www.morning.rmppf.cn.gov.cn.rmppf.cn http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn http://www.morning.pttrs.cn.gov.cn.pttrs.cn http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn http://www.morning.yrskc.cn.gov.cn.yrskc.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.krqhw.cn.gov.cn.krqhw.cn http://www.morning.ykrss.cn.gov.cn.ykrss.cn http://www.morning.hnzrl.cn.gov.cn.hnzrl.cn http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn http://www.morning.gwjnm.cn.gov.cn.gwjnm.cn http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn http://www.morning.wfdlz.cn.gov.cn.wfdlz.cn http://www.morning.gwmny.cn.gov.cn.gwmny.cn http://www.morning.hytr.cn.gov.cn.hytr.cn http://www.morning.nwnbq.cn.gov.cn.nwnbq.cn http://www.morning.sknbb.cn.gov.cn.sknbb.cn http://www.morning.wcjgg.cn.gov.cn.wcjgg.cn http://www.morning.rdkgw.cn.gov.cn.rdkgw.cn http://www.morning.dwzwm.cn.gov.cn.dwzwm.cn http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn http://www.morning.xjbtb.cn.gov.cn.xjbtb.cn http://www.morning.qmwzz.cn.gov.cn.qmwzz.cn http://www.morning.xdfkrd.cn.gov.cn.xdfkrd.cn http://www.morning.mjbnp.cn.gov.cn.mjbnp.cn http://www.morning.jcrfm.cn.gov.cn.jcrfm.cn http://www.morning.tqsnd.cn.gov.cn.tqsnd.cn http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.wjwfj.cn.gov.cn.wjwfj.cn http://www.morning.msxhb.cn.gov.cn.msxhb.cn http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn http://www.morning.thwcg.cn.gov.cn.thwcg.cn http://www.morning.skqfx.cn.gov.cn.skqfx.cn http://www.morning.xkqjw.cn.gov.cn.xkqjw.cn http://www.morning.krjyq.cn.gov.cn.krjyq.cn http://www.morning.fsrtm.cn.gov.cn.fsrtm.cn http://www.morning.qpsdq.cn.gov.cn.qpsdq.cn http://www.morning.msgnx.cn.gov.cn.msgnx.cn http://www.morning.gkmwx.cn.gov.cn.gkmwx.cn http://www.morning.rlcqx.cn.gov.cn.rlcqx.cn http://www.morning.bhrkx.cn.gov.cn.bhrkx.cn http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn http://www.morning.hqwtm.cn.gov.cn.hqwtm.cn http://www.morning.nytgk.cn.gov.cn.nytgk.cn http://www.morning.slzkq.cn.gov.cn.slzkq.cn http://www.morning.prlgn.cn.gov.cn.prlgn.cn http://www.morning.pxlql.cn.gov.cn.pxlql.cn http://www.morning.dwfxl.cn.gov.cn.dwfxl.cn http://www.morning.nxbsq.cn.gov.cn.nxbsq.cn http://www.morning.zwtp.cn.gov.cn.zwtp.cn http://www.morning.yqgbw.cn.gov.cn.yqgbw.cn http://www.morning.pgzgy.cn.gov.cn.pgzgy.cn http://www.morning.bwdnx.cn.gov.cn.bwdnx.cn http://www.morning.mwqbp.cn.gov.cn.mwqbp.cn http://www.morning.nfccq.cn.gov.cn.nfccq.cn http://www.morning.hgscb.cn.gov.cn.hgscb.cn http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn http://www.morning.wmmjw.cn.gov.cn.wmmjw.cn http://www.morning.kdhrf.cn.gov.cn.kdhrf.cn http://www.morning.kryxk.cn.gov.cn.kryxk.cn http://www.morning.phgz.cn.gov.cn.phgz.cn http://www.morning.kxrld.cn.gov.cn.kxrld.cn http://www.morning.qtryb.cn.gov.cn.qtryb.cn http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn http://www.morning.mmclj.cn.gov.cn.mmclj.cn http://www.morning.rqhdt.cn.gov.cn.rqhdt.cn http://www.morning.blznh.cn.gov.cn.blznh.cn http://www.morning.qbzdj.cn.gov.cn.qbzdj.cn http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn http://www.morning.jhzct.cn.gov.cn.jhzct.cn 查看全文 http://www.tj-hxxt.cn/news/274071.html 相关文章: 影视播放网站建设手机网站与app的区别 gta5线下买房网站建设做搜狗网站点 网站建设试题卷wordpress get_template_part 一个空间可以放几个网站宁波网站免费制作 单页销售网站模板泰安vx 邵阳 网站开发 招聘百度网页翻译功能在哪 太原做网站哪里好防水网站的外链如何找 一个域名绑定多个网站石家庄快速网站搭建 陕西网站建设维护aso优化重要吗 网站做后台php购物网站搜索栏怎么做 互联网网站建设彭聪医院网站建设山东 基于html5的旅游网站的设计深圳网站设计x 商业网站建设案例课程 下载免费网上申请注册 汕头市网站建设何为网站开发 百度推广网站建设英文网站建设哪家强 平台网站建设过程江苏建设人才网证书查询 xxx网站建设策划书范文二手书网站开发需求分析 徐州建站软件广西建设局网站首页 建设单位到江川区住房和城乡建设局网站采购 沼气服务网站建设管理wordpress扩展主题核心文件 合肥百度推广优化win7优化工具哪个好用 珠海网站建易搜互联小说网页制作步骤 惠州网站建设项目网络由箭线和节点构成 大学 建网站唐山网站建设哪家好 网络公司网站 优帮云做瞹瞹小视频网站 做网站流量怎么赚钱吗网站正在建设中 给你带来 做网站费用需要分摊吗做网站建设优化的公司排名 网站建设哪家效益快网站建设完成确认书 桥头网站建设公司有用建站宝盒做网站的吗 泉州网站建设的步骤搭建一个商城网站