GVKun编程网logo

ubuntu下docker环境、php环境以及laravel的安装(ubuntu 安装docker环境)

9

在这篇文章中,我们将为您详细介绍ubuntu下docker环境、php环境以及laravel的安装的内容,并且讨论关于ubuntu安装docker环境的相关问题。此外,我们还会涉及一些关于CentOS

在这篇文章中,我们将为您详细介绍ubuntu下docker环境、php环境以及laravel的安装的内容,并且讨论关于ubuntu 安装docker环境的相关问题。此外,我们还会涉及一些关于CentOS 7 下Docker环境安装、docker 部署 php+nginx 环境以及 laravel 框架连接数据库、Docker版本与centos和ubuntu环境下docker安装介绍、docker环境下基于Laradock快速搭建php开发环境的知识,以帮助您更全面地了解这个主题。

本文目录一览:

ubuntu下docker环境、php环境以及laravel的安装(ubuntu 安装docker环境)

ubuntu下docker环境、php环境以及laravel的安装(ubuntu 安装docker环境)

ubuntu下docker环境、php环境以及laravel的安装


因为在学习laravel,需要搭建一个php7的开发环境,经常要反复卸载重新安装各种软件,多搞几遍环境可能就被污染。所有想到了可以使用docker来安装容器,还方便扩展。安装步骤:

  • ubuntu安装git php composer docker
  • ubutnu安装laravel
  • docker下载镜像,启动容器
  • 修改docker nginx容器的配置文件

1. ubuntu安装git php composer docker

  • 安装git
sudo apt-get install git
  • 安装php7.0
sudo apt-get install php7.0 php7.0-dev
  • 安装docker
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo vim /etc/apt/sources.list.d/docker.list
增加内容
 deb https://apt.dockerproject.org/repo ubuntu-precise main
 deb https://apt.dockerproject.org/repo ubuntu-trusty main
 deb https://apt.dockerproject.org/repo ubuntu-wily main
 deb https://apt.dockerproject.org/repo ubuntu-xenial main
sudo apt-get update
sudo apt-get install docker-engine
  • 安装composer
curl -sS https://getcomposer.org/installer | php

注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:

php -r "readfile(''https://getcomposer.org/installer'');" | php

全局调用composer设置

sudo mv composer.phar /usr/local/bin/composer

2. ubuntu安装laravel

下载laravel安装器

composer global require "laravel/installer"

laravel命令加入环境变量,实现全局调用

sudo vim /etc/profile

在文件底部加入

export PATH=~/.config/composer/vendor/bin:$PATH

使环境变量生效

source /etc/profile

建立文件夹,修改权限,进入目录

sudo mkdir /var/www
sudo chmod -R 777 /var/www
cd /var/www

用命令建立laravel项目

laravel new bolg
or 
composer create-project --prefer-dist laravel/laravel blog

修改项目文件里面的storage 和 bootstrap/cache 权限 777

cd /var/www/bolg
chmod -R 777 storage
chmod -R 777 bootstrap/cache

3. docker下载镜像,启动容器

  • 下载镜像
sudo docker pull mysql
sudo docker pull php:7.0-fpm
sudo docker pull nginx
  • 启动容器
sudo docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root mysql
sudo docker run -d --name php-fpm --link mysql:mysql -v /var/www:/var/www/html php 
sudo docker run -d -p 80:80 --name nginx --link php-fpm:php --volumes-from php-fpm nginx

4. 修改docker nginx容器的配置文件

进入nginx容器

sudo docker exec -it nginx /bin/bash
apt-get update
apt-get isntall vim
vim /etc/nginx/conf.d/default.conf

用下面文件替换

请注意fastcgi_pass,它的值是你php容器的域名或者ip。例如:172.17.0.3:9000;

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    
    root   /var/www/html;
    index  index.php index.html index.htm;
    

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root         $document_root;
        fastcgi_pass   172.17.0.3:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache''s document root
    # concurs with nginx''s one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

CentOS 7 下Docker环境安装

CentOS 7 下Docker环境安装

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
yum update

3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

4、设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5、可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

6、安装docker

yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
或者 yum install <FQPN> # 例如:yum install docker-ce-17.12.0.ce

7、启动并加入开机启动

systemctl start docker
systemctl enable docker

8、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

docker version

 

docker 部署 php+nginx 环境以及 laravel 框架连接数据库

docker 部署 php+nginx 环境以及 laravel 框架连接数据库

自己记录一下,以防忘记,有需要的朋友可以参考,以及提出意见。

1. 下载镜像

下载 mysql: docker pull mysql (默认最高版本)

下载 php+nginx: docker pull daocloud.io/a735416909/nginx-php7:latest 

2. 开启容器

 docker run -d --name nginx_php -P -v D:\var\www\html:/var/www/html/ daocloud.io/a735416909/nginx-php7:latest 

-d  分离模式:在后台运行

-P  映射随机端口

-v  将主机中目录挂载到容器中的某个目录

 docker run -d --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 

-d  分离模式:在后台运行

-p  将容器的 3306 端口映射到主机的 3307 端口

-e  MYSQL_ROOT_PASSWORD=123456(初始化 root 用户的密码)

(图仅供参考,有些不同之处)

3. 检测 php+nginx 有没有安装成功

在我们主机挂载的目录中(D:\var\www\html)创建一个 phpinfo

这样就算安装成功了

4. 检测 mysql 是否安装成功(是否可以远程连接)

我用 Navicat 测试

5.laravel 框架连接数据库

在我们主机挂载位置(D:\var\www\html)下,安装 laravel 框架(安装过程不做过多叙述),安装完成后,我们用 php artisan 来建表(同时检测 laravel 能否连接 mysql 数据库)

在 laravel 框架.env 修改连接数据库的配置

DB_HOST: 地址为容器地址

DB_PORT: 端口号

DB_DATABASE: 数据库名称

DB_USERNAME: 用户名

DB_PASSWORD: 密码

 docker inspect --format ''{{ .NetworkSettings.IPAddress }}'' <container-ID>  或 docker inspect <container id>  或 docker inspect -f ''{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'' container_name_or_id 

ip 地址位置

配置完成后写一个测试方法获取数据。

 

Docker版本与centos和ubuntu环境下docker安装介绍

Docker版本与centos和ubuntu环境下docker安装介绍

Docker版本与安装介绍

  • Docker-CE 和 Docker-EE
  • Centos 上安装 Docker-CE
  • Ubuntu 上安装 Docker-CE

Docker-CE和Docker-EE

Docker-CE指Docker社区版,由社区维护和提供技术支持,为免费版本,适合个人开发人员和小团队使用。

Docker-EE指Docker企业版,为收费版本,由售后团队和技术团队提供技术支持,专为企业开发和IT团队而设计。

相比Docker-EE,增加一些额外功能,更重要的是提供了更安全的保障。

此外,Docker的发布版本分为Stable版和Edge版,区别在于前者是按季度发布的稳定版(发布慢),后者是按月发布的边缘版(发布快)。

通常情况下,Docker-CE足以满足我们的需求。

 

CentOS安装Docker-CE

卸载旧版本docker

yum list installed | grep docker

#查看已安装docker版本
yum list installed | grep docker
yum -y remove docker-ce.x86_64

阿里云安装教程(建议)

https://help.aliyun.com/docum...

官方安装教程

https://docs.docker.com/insta...

  1. 安装必要的一些系统工具  
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新并安装Docker-CE

在这里我安装的是指定的版本18.03.1

yum install docker-ce-18.03.1.ce-1.el7.centos

你也可以安装最新的版本

sudo yum -y install docker-ce

  

查看docker 的版本

docker version

开启 docker 并设置开机自启动

systemctl start docker
systemctl enable docker

 

Ubuntu 上安装 Docker-CE

  1. 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
  1. 安装GPG证书  
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  1. 写入软件源信息 
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  1. 更新并安装Docker-CE
sudo apt-get -y update

sudo apt-get -y install docker-ce

  

安装指定版本的Docker-CE:

sudo apt-get -y install docker-ce=18.01.0~ce-0~ubuntu

  

Docker 加速器配置

 

为什么使用加速器:

配置Docker加速器,将会提升在国内获取Docker官方镜像的速度,否则后面下载镜像的过程会很慢,甚至有可能无法下载镜像 配置阿里云加速器

参考教程

https://help.aliyun.com/docum...

本文转自:https://www.fengjunzi.com/blo...
欢迎访问我的网站:风君子博客,微信号fj3702交流

docker环境下基于Laradock快速搭建php开发环境

docker环境下基于Laradock快速搭建php开发环境

Laradock

1.官网地址

 # laradock 英文地址
 https://laradock.io/
 
 # laradock 中文文档
 https://laradock-docs.linganmin.cn/zh/documentation/
 
 # docker-sync
 https://docker-sync.readthedocs.io/en/latest/

2.安装准备

*   [Git](https://git-scm.com/downloads)
*   [Docker](https://www.docker.com/products/docker/)`>= 17.12

3.目录结构

// 官网有多种目录格式,个人喜欢使用一个laradock当做入口即可
+ laradock  
+ project-1  
+ project-2

4.安装

git clone https://github.com/laradock/laradock.git

5.配置

1.创建配置文件

 cp env-example .env

2.配置环境选项

// 第一步(重要),修改为阿里源 (官方的php Dockerfile也吐槽了这个...)
CHANGE_SOURCE=true

容器环境配置

// workspace 宿主机挂载目录
APP_CODE_PATH_HOST=../

// 容器目录
APP_CODE_PATH_CONTAINER=/var/www
// 时区
WORKSPACE_TIMEZONE=PRC

PHP 配置

// php版本可选: 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.3

// 网络原因这个扩展可能会导致安装失败,建议修改为false
WORKSPACE_INSTALL_IMAGEMAGICK=false
PHP_FPM_INSTALL_IMAGEMAGICK=false

NGINX 配置

NGINX_HOST_HTTP_PORT=80     // http 监听端口
NGINX_HOST_HTTPS_PORT=443   // https 监听端口
NGINX_HOST_LOG_PATH=./logs/nginx/  // nginx 内容器日志目录
NGINX_SITES_PATH=./nginx/sites/     // nginx 配置文件目录
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm    // 绑定 php-fpm 处理
NGINX_PHP_UPSTREAM_PORT=9000    // php-fpm 端口
NGINX_SSL_PATH=./nginx/ssl/     // nginx ssl路径

APACHE 配置 (同上nginx)

APACHE_HOST_HTTP_PORT=80
APACHE_HOST_HTTPS_PORT=443
APACHE_HOST_LOG_PATH=./logs/apache2
APACHE_SITES_PATH=./apache2/sites
APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
APACHE_PHP_UPSTREAM_PORT=9000
APACHE_PHP_UPSTREAM_TIMEOUT=60
APACHE_DOCUMENT_ROOT=/var/www/

MYSQL 配置

MYSQL_VERSION=5.7   // 版本 , latest为最新版
MYSQL_DATABASE=default  // 默认创建的数据库名称
MYSQL_USER=root // 用户名
MYSQL_PASSWORD=root // 密码
MYSQL_PORT=3306 // 监听端口
MYSQL_ROOT_PASSWORD=root    // root用户的密码
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

REDIS 配置

REDIS_PORT=6379

# 默认redis是没有密码的, 如果要添加密码

// 1-仅修改密码,需要修改docker-compose.yml编排文件
redis:
      build: ./redis
      volumes:
        - ${DATA_PATH_HOST}/redis:/data
      # 添加这一行为redis设置密码
      command: redis-server --requirepass your_password
      ports:
        - "${REDIS_PORT}:6379"
      networks:
        - backend
        
// 2-直接添加redis的配置文件,修改redis的Dockerfile
1.  注释 `bind 127.0.0.1`  // 绑定本机ip
2.  `protected-mode` 改为 `no` // 只允许本机访问
3.  `requirepass your_password` // 添加你的密码
// 其它类似配置可在.env中查找,例如:
Memcached,RabbitMQ,phpMyAdmin,ElasticSearch,Varnish,HAProxy,Jenkins,Gitlab,tomcat等

3.配置docker-sync(可选)

# 注: 此项为可选项 , 用于 mac/windows 加速宿主机和容器的文件同步速度

# 步骤一 (.env中修改)
// 选择加载的docker-compose编排文件,如果需要使用docker-sync,则在最后面加上":docker-compose.sync.yml"
COMPOSE_FILE=docker-compose.yml

// 可以配置文件同步策略,mac->native_osx,windows->unison
DOCKER_SYNC_STRATEGY=native_osx

# 步骤二 (docker-compose.sync.yml中修改)
// 添加你需要启动的service , 如果包含APP_CODE_PATH_HOST变量映射目录,修改映射宿主目录为 "applications-sync" , 注意缩进

image.png

6.启动

# 每次修改配置文件, 需要重新build

// 先build,再启动
cd laradock
docker-compose build nginx redis mysql php-fpm workspace
docker-compose up -d nginx mysql redis


// 直接启动 , 会自动build拉取
docker-compose up -d nginx mysql redis php-fpm workspace

7.常用指令

// 查看运行状态 "State" => "up" 即为启动成功 
docker-compose ps

image.png

# 重启 / 关闭 / 删除
docker-compose restart / stop / down
// 进入工作容器
docker-compose exec workspace bash

8.配置nginx访问服务

// nginx 主配置文件已经包含了 `your_path/laradock/nginx/sites` 目录下的 `*.conf` 文件
cp laravel.conf.example laravel.conf

// 下面是一份nginx server的配置部分内容
server {
    
    listen 80;
    listen [::]:80;

    # For https
    # listen 443 ssl;
    # listen [::]:443 ssl ipv6only=on;
    # ssl_certificate /etc/nginx/ssl/default.crt;
    # ssl_certificate_key /etc/nginx/ssl/default.key;

    # 修改你的域名或者ip , 本机开发可在 `/etc/hosts` 中修改映射关系
    server_name test.cc;
    
    # 修改你的项目路径
    root /var/www/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }
    
    ...
    ...
    ...
    
    # 修改你的日志文件
    error_log /var/log/nginx/laravel_error.log;     
    access_log /var/log/nginx/laravel_access.log;
}

// 在 `your_path/laradock` 同级目录下
mkdir public
chmod -R 755 ./public
echo -e "<?php \n\r phpinfo();" >> ./public/index.php

// nginx 修改了配置文件需要重启 , 这里我们直接重启容器 , 就不麻烦进入nginx 容器去重启 nginx
docker-compose restart

// 浏览器输入 "test.cc" , 此时能看见 phpinfo 输入的信息则表示配置成功

9.结束语

Use Docker First - Then Learn About It Later #

这是laradock官网介绍上的一句话

以上, 就是基于laradock搭建php+nginx+mysql+redis环境的内容了!

我们今天的关于ubuntu下docker环境、php环境以及laravel的安装ubuntu 安装docker环境的分享已经告一段落,感谢您的关注,如果您想了解更多关于CentOS 7 下Docker环境安装、docker 部署 php+nginx 环境以及 laravel 框架连接数据库、Docker版本与centos和ubuntu环境下docker安装介绍、docker环境下基于Laradock快速搭建php开发环境的相关信息,请在本站查询。

本文标签: