使用 vagrant + docker 搭建 symfony 开发环境

1.安装 virtualbox 与 vagrant

官网直接下载安装包,注意 virtualbox 要使用 5.1 版本,vagrant 使用最新版本。

2.下载 vagrant box

vagrant box add [name] [镜像]

vagrant box add ubuntu ubuntu/xenial64

下载速度会很慢,建议复制链接到迅雷里面下载。

3.使用 vagrant-winnfsd 插件提升共享目录性能
vagrant plugin install vagrant-winnfsd
4.初始化镜像

选择目录,执行 vagrant init ubuntu之后会生成一个 Vagrantfile 文件。
打开 Vagrantfile 文件,修改代码:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
   config.vm.box = "ubuntu"
   # config.vm.network "forwarded_port", guest: 80, host: 8080
   config.vm.network "private_network", ip: "192.168.33.10"
   # 禁用原有的默认的共享目录
   config.vm.synced_folder '.', '/vagrant', disabled: true
   config.vm.synced_folder "./code", "/www", type: "nfs"
end

修改完之后在当前目录下创建 code 共享文件夹,此文件夹将映射到 ubuntu 的 /www 目录。

5.开始运行
vagrant up
6.进入 ubuntu 系统
vagrant ssh

或者使用 xshell 登录,127.0.0.1:2222 。如果需要秘钥登录则使用 .vagrant\machines\default\virtualbox 这个目录下的 private_key。之后想通过用户名和密码登录的话,修改 sshd_config , sudo vi /etc/ssh/sshd_config更改 PasswordAuthenticationyes ,之后就可以通过用户名和密码登录了,用户名和密码都是 vagrant

6. 安装 docker ce
	sudo apt-get update

添加软件源的 GPG 密钥

   curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add

向 source.list 中添加 Docker 软件源

sudo add-apt-repository \
				"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \				
				$(lsb_release -cs) \				
				stable"

安装 docker

sudo apt-get update
sudo apt-get install docker-ce

启动 docker

sudo systemctl restart docker

将当前用户加入 docker 用户组

sudo usermod -aG docker $USE

之后退出当前终端,重新登录。

7.配置镜像加速
sudo vi  /etc/docker/daemon.json
{
"registry-mirrors": [
    "https://registry.docker-cn.com"
    ]
}

之后重启系统

sudo systemctl daemon-reload
sudo systemctl restart docker
8.检测 docker 是否运行正确
docker run hello-world

9.安装 docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
10.构建环境

docker-compose.yml 文件

version: '3'

services:

### Applications Code Container #############################

    # web:
    #   image: debian:jessie
    #   volumes:
    #     - ./www:/var/www

### PHP-FPM Container #######################################

    php-fpm:
      build:
        context: ./php
      container_name: php
      volumes:
        - ../www:/app
      expose:
        - "9000"

### Nginx Server Container ##################################

    nginx:
      build:
        context: ./nginx
      container_name: nginx
      volumes:
          - ../www:/app
      ports:
          - "80:80"
          - "443:443"
      depends_on:
          - php-fpm

配置好了之后执行 docker-compose up自动构建并启动
( mysql 使用的是本地PC机器上的 )

11.测试是否成功

由于使用的是 vagrant ,那么访问 http://192.168.33.10/ 这个 ip 是之前 在Vagrantfile 中配置的私有 ip。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值