定位镜像

在hub.docker.com 搜索yii2,并且最后定位到 https://hub.docker.com/r/codemix/yii2-base/
codemix/yii2-base 然后在github上打开 clone 到本地

启动容器

按照下面步骤操作

composer create-project --no-install codemix/yii2-dockerized myprojectcd myproject
cp docker-compose-example.yml docker-compose.yml
cp .env-example .env
启动docker 建议加上 -d 参数
docker-compose up

数据库迁移
docker-compose run --rm web ./yii migrate

把配置修改为自己没有占用的端口

里面有 nginx 和 Apache 两个web服务器可以选择

执行 docker-compose build
docker-compose up -d

访问 ip:port

直接访问本地对应的端口

docker-compose.yml 文件修改参考

 # For *-apache base image
# web:
# build: ./
# ports:
# - "8080:80"
# expose:
# - ""
# volumes:
# - ./:/var/www/html/
# links:
# - db
# environment:
# ENABLE_ENV_FILE:
# ENABLE_LOCALCONF:
# API_TOKEN: "<YOUR GITHUB API TOKEN>" # Uncomment to autostart at boottime
#restart: always # Uncomment to send log output to syslog
#log_driver: "syslog"
#log_opt:
# tag: "docker-web" # for *-php-fpm and *-hhvm base image
app:
build: ./
expose:
- ""
volumes:
- ./:/var/www/html/
links:
- db
environment:
ENABLE_ENV_FILE:
ENABLE_LOCALCONF:
API_TOKEN: "f1528c9bc2181668bc80417e33a7fb79412bf52a" nginx:
build: ./nginx
ports:
- "8083:80"
links:
- app
volumes_from:
- app db:
image: mysql:5.6
ports:
- "3308:3306"
expose:
- ""
environment:
MYSQL_ROOT_PASSWORD: secret-root
MYSQL_DATABASE: web
MYSQL_USER: web
MYSQL_PASSWORD: web # Uncomment to autostart at boottime
#restart: always 

Dockerfile 文件修改参考

 #FROM codemix/yii2-base:2.0.-apache
FROM codemix/yii2-base:2.0.-php-fpm
#FROM codemix/yii2-base:2.0.-hhvm # Composer packages are installed first. This will only add packages
# that are not already in the yii2-base image.
COPY composer.json /var/www/html/
COPY composer.lock /var/www/html/
RUN composer self-update --no-progress && \
composer install --no-progress # Copy the working dir to the image's web root
COPY . /var/www/html # The following directories are .dockerignored to not pollute the docker images
# with local logs and published assets from development. So we need to create
# empty dirs and set right permissions inside the container.
RUN mkdir -p runtime web/assets \
&& chown www-data:www-data runtime web/assets # Expose everything under /var/www (vendor + html)
# This is only required for the nginx setup
VOLUME ["/var/www"]

利用docker搭建yii2 详细步骤的更多相关文章

  1. 利用Docker搭建本地https环境的完整步骤

    利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...

  2. 利用 Docker 搭建 IPFS 私有网络

    利用 Docker 搭建 IPFS 私有网络 本文原始地址:https://sitoi.cn/posts/40630.html 下载项目 项目地址:https://github.com/Sitoi/p ...

  3. Docker入门详解——安装docker并利用docker搭建lnmp

    首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...

  4. 利用Docker搭建开发环境

    一. 前言 随着平台的不断壮大,项目的研发对于开发人员而言,对于外部各类环境的依赖逐渐增加,特别是针对基础服务的依赖.这些现象导致开 发人员常常是为了简单从而直接使用公有的基础组件进行协同开发,在出现 ...

  5. 利用 Docker 搭建单机的 Cloudera CDH 以及使用实践

    想用 CDH 大礼包,于是先在 Mac 上和 Centos7.4 上分别搞个了单机的测试用.其实操作的流和使用到的命令差不多就一并说了: 首先前往官方下载包: https://www.cloudera ...

  6. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  7. vue框架搭建的详细步骤(一)

    在这里我们先快速的搭建一个vue的脚手架: (1).在安装vue的环境之前,安装NodeJS环境是必须的.可以使用node -v指令检查,需要保证安装了4.0版本以上的nodeJS环境. 没有安装的话 ...

  8. 利用docker搭建RTMP直播流服务器实现直播

    一.rtmp服务器搭建 环境: centos 7.* 1.先安装docker(省略) 2.下载docker容器 docker pull alfg/nginx-rtmp 3.运行容器(记得打开防火墙端口 ...

  9. elk搭建的详细步骤以及说明

    一:准备工作 1.准备一台虚拟机 192.168.175.222      elk-node2 2.关闭防火墙以及selinux 命令:systemctl stop firewalld       # ...

随机推荐

  1. TempDB 中表变量和局部临时表的对比

    原文:TempDB 中表变量和局部临时表的对比 参考资料来源: http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/ ...

  2. css Tab选项卡1

    利用   锚点原理 以及overflow:hiden 结合,实现纯  css  tab 方式 兼容ie6 + 适合单个tab   不需要js          注意点  红色方框的   a 对应a   ...

  3. 修改Hosts不生效的一个场景-web(转)

    Update: 如果浏览器使用了代理工具,修改 Hosts 也不会生效.这里是因为,浏览器会优先考虑代理工具(如添加 pac 文件.SwitchySharp等)的代理,建议调试的时候先关闭这些代理. ...

  4. (大数据工程师学习路径)第二步 Vim编辑器----查找替换

    一.字符的替换及撤销(Undo操作) 1.替换和撤销(Undo)命令 替换和Undo命令都是针对普通模式下的操作 命令 说明 r+<待替换字母> 将游标所在字母替换为指定字母 R 连续替换 ...

  5. Google调试技巧总结

    工欲善其事 工欲善其事,必先利器. Google调试面板一一介绍:F12回想一下大家都应该知道,哈哈 element面板 这个面板显示了页面所有html代码.用于调试css代码.右側展示左側相应选择元 ...

  6. InstallShield安装包中集成第三方安装包的方案选择

    原文:InstallShield安装包中集成第三方安装包的方案选择[转]   我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项. 第三方安装包的 ...

  7. TCP/IP的经典网络编程

                                                                             TCP/IP网络编程之四书五经             ...

  8. windows server 2008见安装IIS方法(解决)

    windows server 2008见安装IIS方法(解决) 刚开始有点蒙,后来才知道原来如此.! . 右键点击[我的电脑]--[管理]--[字符]--[加入角色]--仅落后win7像.啊! 版权声 ...

  9. SQL Server使用规范

    原文:SQL Server使用规范 常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 ...

  10. android使用ffmpeg

    cygwin上文编译文章. 在ffmpeg/arm添加的文件夹Android.mk 的主要目的是为了宣布动态库libs下一个 LOCAL_PATH:= $(call my-dir) include $ ...