登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
Gitee AI
NEW
我知道了
查看详情
登录
注册
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
783
Star
1.6K
Fork
348
开源中国
/
Gitee Feedback
代码
Issues
5341
Wiki
统计
流水线
服务
Gitee Pages
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
我知道了,不再自动展开
更新失败,请稍后重试!
Issues
/
详情
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
使用docker-compose 搭建时无法安装完成
意向
#I5NJMP
需求
杜旭
创建于
2022-08-22 22:11
### 需求说明 使用docker-compose 搭建时无法安装完成 一直停留在-安装向导-同意协议页面 ### 需求目的 安装项目 ### 需求来源 用户 用户反馈 ### 环境信息 操作系统:`Windows 10` 浏览器:`Firefox` 分辨率:`1280*720` 语言:`zh-CN` docker-compose version: "3.8" # 指定 compose 文件的版本 #整个服务的最高层,第二层为各应用的名称 services: # 定义服务的名称 # 相当于 docker 的 "--name" 参数 nginx: #设定容器的主机名,它会被写到容器内的 /etc/hostname 和/etc/hosts。但它在容器外部看不到,既不会在 docker ps 中显示,也不会在其他的容器的 /etc/hosts 看到 hostname: nginx #启动的镜像文件名称,指定 docker 镜像, 可以是远程仓库镜像、本地镜像 image: nginx:${NGINX_IMAGE_TAG} #虽然可以自定义项目名称、服务名称,但是如果你想完全控制容器的命名,可以使用这个标签指定 container_name: nginx #让本机的80端口(左),映射到 docker 的 80 端口(右) # 相当于 docker 的 "-p" 选项,暴露容器端口到主机的任意端口或指定端口,外部可以访问,没有限制 ports: - "${NGINX_HTTP_HOST_PORT}:80" - "8080:8080" #这个标签解决的是容器连接问题,与Docker client的--link一样效果,会连接到其它服务中的容器。 #将指定容器连接到当前连接,可以设置别名,避免ip方式导致的容器重启动态改变的无法连接情况 # 链接到其它服务中的容器, 该选项是 docker 历史遗留的选项, 目前已被用户自定义网络名称空间取代 links: - php:php-cgi - php74:php74-cgi - php81:php81-cgi # 将本机目录(左),挂载到容器目录中(右) # 相当于 docker 的 "-v" 选项 # 定义容器和宿主机的卷映射关系, 其和 networks 一样可以位于 services 键的二级键和 compose 顶级键, 如果需要跨服务间使用则在顶级键定义, 在services 中引用 volumes: - ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf - ${NGINX_CONFD_DIR}:/etc/nginx/conf.d - ${NGINX_LOG_DIR}:/var/log/nginx - ${NGINX_SSL_DIR}:/etc/letsencrypt - ${SOURCE_SHARE_DIR}:/var/www # - ${SOURCE_SHARE_DIR}:/usr/share/nginx/html # 项目 # 使用重启策略, always 如果容器停止,请始终重新启动容器。 如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。 # 定义容器重启策略(在使用 swarm 部署时将忽略该选项, 在 swarm 使用 restart_policy 代替 restart) # no # 禁止自动重启容器(默认) # always # 无论如何容器都会重启 # on-failure # 当出现 on-failure 报错时, 容器重新启动 restart: always # 设置容器中的环境变量 ,environment 的值可以覆盖 env_file 的值 (等同于 docker run --env 的作用) environment: TZ: "${TZ}" # expose只暴露容器给link到当前容器的容器使用,不想让外部使用(比如如只需要自己的php-fpm能访问自己redis,不让外部链接) # expose # depends_on: #启动依赖,定义容器启动顺序 # - php #先启动php,最后再启动 nginx # 连接网络,加入指定网络 # 相当于 "--network" 选项 # 将容器加入指定网络 (等同于 docker network connect 的作用取代了links) networks: # - lnmp-test1 #自己先创建的网络,容器直接可以互通 lnmp-test1: # 由于服务内部之间不能访问,需要加入 alia #特别的子标签aliases,这是一个用来设置服务别名的标签,相同的服务可以在不同的网络有不同的别名 #同一网络上的其他容器可以使用服务名称或此别名来连接到对应容器的服务。 # 同一网络上的容器可以使用服务名称或别名连接到其中一个服务的容器 aliases: - "www.gsptest.com" - "from.com" # ipv4_address # IP V4 格式 # ipv6_address # IP V6 格式 php: # 指定 docker 镜像, 可以是远程仓库镜像、本地镜像 # image: php:5.6-fpm-alpine3.8 hostname: php # 指定容器的名称 (等同于 docker run --name 的作用) container_name: php # 指定包含构建上下文的路径, 或作为一个对象,该对象具有 context 和指定的 dockerfile 文件以及 args 参数值 build: context: ./php/php53 # 指定上下文,指定 Dockerfile 文件所在的路径 dockerfile: Dockerfile.centos # 指定Dockerfile文件, CentOS 系统 # args: Dockerfile 在 build 过程中需要的参数 (等同于 docker container build --build-arg 设置镜像创建时的变量) # args: # TZ: "$TZ" # 定义容器和宿主机的卷映射关系, 其和 networks 一样可以位于 services 键的二级键和 compose 顶级键, 如果需要跨服务间使用则在顶级键定义, 在services 中引用 volumes: - ${SOURCE_SHARE_DIR}:/var/www # 覆盖容器启动后默认执行的命令(容器启动后需要执行的命令) # command: # - php-fpm #启动容器后执行的命令 # 链接到其它服务中的容器, 该选项是 docker 历史遗留的选项, 目前已被用户自定义网络名称空间取代 links: - mysql:mysql-db networks: - lnmp-test1 php74: hostname: php74 container_name: php74 build: context: ./php/php74 args: PHP_VERSION: php:${PHP74_VERSION}-fpm-alpine CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL} PHP_EXTENSIONS: ${PHP74_EXTENSIONS} TZ: "$TZ" #ports: # - "9074:9000" # - "9073:9073" volumes: - ${SOURCE_SHARE_DIR}:/var/www - ${PHP_INI_FILE}:/usr/local/etc/php/php.ini - ${PHP_WWW_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf - ${PHP_LOG_DIR}:/var/log/php networks: - lnmp-test1 php81: # 指定 docker 镜像, 可以是远程仓库镜像、本地镜像 hostname: php81 # 指定容器的名称 (等同于 docker run --name 的作用) container_name: php81 build: context: ./php/php8 args: PHP_VERSION: php:${PHP81_IMAGE_TAG} CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL} PHP_EXTENSIONS: ${PHP81_EXTENSIONS} TZ: "$TZ" ports: - "${PHP81_FPM_PORT}:9000" volumes: - ${SOURCE_SHARE_DIR}:/var/www - ${PHP_INI_FILE}:/usr/local/etc/php/php.ini - ${PHP_WWW_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf - ${PHP_LOG_DIR}:/var/log/php networks: - lnmp-test1 phpmyadmin: hostname: phpmyadmin container_name: phpmyadmin image: phpmyadmin/phpmyadmin:${PHPMYADMIN_TAG} ports: - "${PHPMYADMIN_HOST_PORT}:80" # 设置容器中的环境变量 environment: - PMA_HOST=mysql - PMA_PORT=3306 - TZ=$TZ networks: - lnmp-test1 mysql: hostname: mysql container_name: mysql # 指定 docker 镜像, 可以是远程仓库镜像、本地镜像 image: mysql:${MYSQL_IMAGE_TAG} # 暴露容器端口到主机的任意端口或指定端口,外部可以访问,没有限制 ports: - "${MYSQL_HOST_PORT}:3306" # 设置容器中的环境变量 environment: # MySQL root权限密码 MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} # 数据库-库名 MYSQL_DATABASE: wordpress # 添加一个用户 MYSQL_USER: user # 添用户的密码 MYSQL_PASSWORD: user123 TZ: "${TZ}" # 定义容器和宿主机的卷映射关系, 其和 networks 一样可以位于 services 键的二级键和 compose 顶级键, 如果需要跨服务间使用则在顶级键定义, 在services 中引用 volumes: - ${MYSQL_CONF_FILE}:/etc/mysql/conf.d - ${MYSQL_DATA_DIR}:/var/lib/mysql - ${MYSQL_LOG_DIR}:/var/log/mysql/ # 覆盖容器启动后默认执行的命令(容器启动后需要执行的命令) # 当前数据库用户root的加密规则,修改加密规则为“mysql_native_password” command: --default-authentication-plugin=mysql_native_password # 使用重启策略, always 如果容器停止,请始终重新启动容器。 如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。 restart: always networks: - lnmp-test1 redis: hostname: redis container_name: redis image: redis:${REDIS_IMAGE_TAG} # 暴露容器端口到主机的任意端口或指定端口,外部可以访问,没有限制 ports: - "${REDIS_HOST_PORT}:6379" # 覆盖容器启动后默认执行的命令(容器启动后需要执行的命令) # 启动特定配置的 Redis command: redis-server /usr/local/etc/redis/redis.conf volumes: - ${REDIS_CONF_FILE}:/usr/local/etc/redis/redis.conf - ${REDIS_DATA_DIR}:/data # 使用重启策略, always 如果容器停止,请始终重新启动容器。 如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。 restart: always networks: - lnmp-test1 # 定义 networks 信息 networks: lnmp-test1: # 指定网络模式, 大多数情况下, 它 bridge 于单个主机和 overlay Swarm 上 # bridge # Docker 默认使用 bridge 连接单个主机上的网络 # overlay # overlay 驱动程序创建一个跨多个节点命名的网络 # host # 共享主机网络名称空间(等同于 docker run --net=host) # none # 等同于 docker run --net=none driver: bridge
### 需求说明 使用docker-compose 搭建时无法安装完成 一直停留在-安装向导-同意协议页面 ### 需求目的 安装项目 ### 需求来源 用户 用户反馈 ### 环境信息 操作系统:`Windows 10` 浏览器:`Firefox` 分辨率:`1280*720` 语言:`zh-CN` docker-compose version: "3.8" # 指定 compose 文件的版本 #整个服务的最高层,第二层为各应用的名称 services: # 定义服务的名称 # 相当于 docker 的 "--name" 参数 nginx: #设定容器的主机名,它会被写到容器内的 /etc/hostname 和/etc/hosts。但它在容器外部看不到,既不会在 docker ps 中显示,也不会在其他的容器的 /etc/hosts 看到 hostname: nginx #启动的镜像文件名称,指定 docker 镜像, 可以是远程仓库镜像、本地镜像 image: nginx:${NGINX_IMAGE_TAG} #虽然可以自定义项目名称、服务名称,但是如果你想完全控制容器的命名,可以使用这个标签指定 container_name: nginx #让本机的80端口(左),映射到 docker 的 80 端口(右) # 相当于 docker 的 "-p" 选项,暴露容器端口到主机的任意端口或指定端口,外部可以访问,没有限制 ports: - "${NGINX_HTTP_HOST_PORT}:80" - "8080:8080" #这个标签解决的是容器连接问题,与Docker client的--link一样效果,会连接到其它服务中的容器。 #将指定容器连接到当前连接,可以设置别名,避免ip方式导致的容器重启动态改变的无法连接情况 # 链接到其它服务中的容器, 该选项是 docker 历史遗留的选项, 目前已被用户自定义网络名称空间取代 links: - php:php-cgi - php74:php74-cgi - php81:php81-cgi # 将本机目录(左),挂载到容器目录中(右) # 相当于 docker 的 "-v" 选项 # 定义容器和宿主机的卷映射关系, 其和 networks 一样可以位于 services 键的二级键和 compose 顶级键, 如果需要跨服务间使用则在顶级键定义, 在services 中引用 volumes: - ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf - ${NGINX_CONFD_DIR}:/etc/nginx/conf.d - ${NGINX_LOG_DIR}:/var/log/nginx - ${NGINX_SSL_DIR}:/etc/letsencrypt - ${SOURCE_SHARE_DIR}:/var/www # - ${SOURCE_SHARE_DIR}:/usr/share/nginx/html # 项目 # 使用重启策略, always 如果容器停止,请始终重新启动容器。 如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。 # 定义容器重启策略(在使用 swarm 部署时将忽略该选项, 在 swarm 使用 restart_policy 代替 restart) # no # 禁止自动重启容器(默认) # always # 无论如何容器都会重启 # on-failure # 当出现 on-failure 报错时, 容器重新启动 restart: always # 设置容器中的环境变量 ,environment 的值可以覆盖 env_file 的值 (等同于 docker run --env 的作用) environment: TZ: "${TZ}" # expose只暴露容器给link到当前容器的容器使用,不想让外部使用(比如如只需要自己的php-fpm能访问自己redis,不让外部链接) # expose # depends_on: #启动依赖,定义容器启动顺序 # - php #先启动php,最后再启动 nginx # 连接网络,加入指定网络 # 相当于 "--network" 选项 # 将容器加入指定网络 (等同于 docker network connect 的作用取代了links) networks: # - lnmp-test1 #自己先创建的网络,容器直接可以互通 lnmp-test1: # 由于服务内部之间不能访问,需要加入 alia #特别的子标签aliases,这是一个用来设置服务别名的标签,相同的服务可以在不同的网络有不同的别名 #同一网络上的其他容器可以使用服务名称或此别名来连接到对应容器的服务。 # 同一网络上的容器可以使用服务名称或别名连接到其中一个服务的容器 aliases: - "www.gsptest.com" - "from.com" # ipv4_address # IP V4 格式 # ipv6_address # IP V6 格式 php: # 指定 docker 镜像, 可以是远程仓库镜像、本地镜像 # image: php:5.6-fpm-alpine3.8 hostname: php # 指定容器的名称 (等同于 docker run --name 的作用) container_name: php # 指定包含构建上下文的路径, 或作为一个对象,该对象具有 context 和指定的 dockerfile 文件以及 args 参数值 build: context: ./php/php53 # 指定上下文,指定 Dockerfile 文件所在的路径 dockerfile: Dockerfile.centos # 指定Dockerfile文件, CentOS 系统 # args: Dockerfile 在 build 过程中需要的参数 (等同于 docker container build --build-arg 设置镜像创建时的变量) # args: # TZ: "$TZ" # 定义容器和宿主机的卷映射关系, 其和 networks 一样可以位于 services 键的二级键和 compose 顶级键, 如果需要跨服务间使用则在顶级键定义, 在services 中引用 volumes: - ${SOURCE_SHARE_DIR}:/var/www # 覆盖容器启动后默认执行的命令(容器启动后需要执行的命令) # command: # - php-fpm #启动容器后执行的命令 # 链接到其它服务中的容器, 该选项是 docker 历史遗留的选项, 目前已被用户自定义网络名称空间取代 links: - mysql:mysql-db networks: - lnmp-test1 php74: hostname: php74 container_name: php74 build: context: ./php/php74 args: PHP_VERSION: php:${PHP74_VERSION}-fpm-alpine CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL} PHP_EXTENSIONS: ${PHP74_EXTENSIONS} TZ: "$TZ" #ports: # - "9074:9000" # - "9073:9073" volumes: - ${SOURCE_SHARE_DIR}:/var/www - ${PHP_INI_FILE}:/usr/local/etc/php/php.ini - ${PHP_WWW_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf - ${PHP_LOG_DIR}:/var/log/php networks: - lnmp-test1 php81: # 指定 docker 镜像, 可以是远程仓库镜像、本地镜像 hostname: php81 # 指定容器的名称 (等同于 docker run --name 的作用) container_name: php81 build: context: ./php/php8 args: PHP_VERSION: php:${PHP81_IMAGE_TAG} CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL} PHP_EXTENSIONS: ${PHP81_EXTENSIONS} TZ: "$TZ" ports: - "${PHP81_FPM_PORT}:9000" volumes: - ${SOURCE_SHARE_DIR}:/var/www - ${PHP_INI_FILE}:/usr/local/etc/php/php.ini - ${PHP_WWW_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf - ${PHP_LOG_DIR}:/var/log/php networks: - lnmp-test1 phpmyadmin: hostname: phpmyadmin container_name: phpmyadmin image: phpmyadmin/phpmyadmin:${PHPMYADMIN_TAG} ports: - "${PHPMYADMIN_HOST_PORT}:80" # 设置容器中的环境变量 environment: - PMA_HOST=mysql - PMA_PORT=3306 - TZ=$TZ networks: - lnmp-test1 mysql: hostname: mysql container_name: mysql # 指定 docker 镜像, 可以是远程仓库镜像、本地镜像 image: mysql:${MYSQL_IMAGE_TAG} # 暴露容器端口到主机的任意端口或指定端口,外部可以访问,没有限制 ports: - "${MYSQL_HOST_PORT}:3306" # 设置容器中的环境变量 environment: # MySQL root权限密码 MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} # 数据库-库名 MYSQL_DATABASE: wordpress # 添加一个用户 MYSQL_USER: user # 添用户的密码 MYSQL_PASSWORD: user123 TZ: "${TZ}" # 定义容器和宿主机的卷映射关系, 其和 networks 一样可以位于 services 键的二级键和 compose 顶级键, 如果需要跨服务间使用则在顶级键定义, 在services 中引用 volumes: - ${MYSQL_CONF_FILE}:/etc/mysql/conf.d - ${MYSQL_DATA_DIR}:/var/lib/mysql - ${MYSQL_LOG_DIR}:/var/log/mysql/ # 覆盖容器启动后默认执行的命令(容器启动后需要执行的命令) # 当前数据库用户root的加密规则,修改加密规则为“mysql_native_password” command: --default-authentication-plugin=mysql_native_password # 使用重启策略, always 如果容器停止,请始终重新启动容器。 如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。 restart: always networks: - lnmp-test1 redis: hostname: redis container_name: redis image: redis:${REDIS_IMAGE_TAG} # 暴露容器端口到主机的任意端口或指定端口,外部可以访问,没有限制 ports: - "${REDIS_HOST_PORT}:6379" # 覆盖容器启动后默认执行的命令(容器启动后需要执行的命令) # 启动特定配置的 Redis command: redis-server /usr/local/etc/redis/redis.conf volumes: - ${REDIS_CONF_FILE}:/usr/local/etc/redis/redis.conf - ${REDIS_DATA_DIR}:/data # 使用重启策略, always 如果容器停止,请始终重新启动容器。 如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。 restart: always networks: - lnmp-test1 # 定义 networks 信息 networks: lnmp-test1: # 指定网络模式, 大多数情况下, 它 bridge 于单个主机和 overlay Swarm 上 # bridge # Docker 默认使用 bridge 连接单个主机上的网络 # overlay # overlay 驱动程序创建一个跨多个节点命名的网络 # host # 共享主机网络名称空间(等同于 docker run --net=host) # none # 等同于 docker run --net=none driver: bridge
评论 (
0
)
杜旭
创建了
需求
登录
后才可以发表评论
状态
意向
意向
已确认
方案设计
UI设计
开发中
待演示
待测试
测试中
待上线
已完成
已上线
已验收
已拒绝
挂起
负责人
未设置
标签
未设置
项目
未立项任务
未立项任务
里程碑
未关联
未关联
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
未关联
master
cjx/fix_adjust_mayun_2_gitee
test_version
cjx/add_learngitbranching_entry
hkk/add-item
hkk/style-git-osc
hkk/change-page-width
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
Ruby
1
https://gitee.com/oschina/git-osc.git
git@gitee.com:oschina/git-osc.git
oschina
git-osc
Gitee Feedback
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册