在这篇文章中,我们将为您详细介绍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环境)
- CentOS 7 下Docker环境安装
- docker 部署 php+nginx 环境以及 laravel 框架连接数据库
- Docker版本与centos和ubuntu环境下docker安装介绍
- docker环境下基于Laradock快速搭建php开发环境
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环境安装
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 框架连接数据库
自己记录一下,以防忘记,有需要的朋友可以参考,以及提出意见。
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版本与安装介绍
- 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...
- 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新并安装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
- 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
- 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
- 更新并安装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开发环境
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" , 注意缩进
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
# 重启 / 关闭 / 删除
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开发环境的相关信息,请在本站查询。
本文标签: