加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

docker 学习搭建 php 环境

发布时间:2021-07-06 05:21:34 所属栏目:大数据 来源: https://www.jb51.cc
导读:? 1.centos安装docker服务 sudo yum install -y?yum-utils sudo yum-config-manager ????--add-repo? http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io 配置镜像加速 vi ?/etc/

?

1.centos安装docker服务

sudo yum install -y?yum-utils

sudo yum-config-manager

????--add-repo?

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io

  1. 配置镜像加速

vi ?/etc/docker/daemon.josn

{"registry-mirrors":["https://hub-mirror.c.163.com/"]}

镜像分层技术,同类库不重新下载

?

  1. docker-compse安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)"?-o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件

sudo chmod +x /usr/local/bin/docker-compose

创建软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  1. Docker Machine 安装

base=https://github.com/docker/machine/releases/download/v0.16.0 &&

??curl -L $base/docker-machine-$(uname -s)-$(uname -m)?>/tmp/docker-machine &&

??sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&

??chmod +x /usr/local/bin/docker-machine

?

  1. Docker Machine 创建

?

centos不支持virtualBox驱动,所以使用generic

?

需要先创建密钥

ssh-keygen

然后执行

ssh-copy-id root@192.168.5.1?ip为本机地址

最后执行创建主机

docker-machine create -d generic --generic-ip-address=192.168.5.1 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root vm

?

docker images 列出所有镜像

docker ps 列出所有在运行容器

-a 列出所有容器,包括没有运行的容器

?

docker rm (container id or container name) 删除容器

docker rmi (image id or image name:image tag ?latest 可省略) 删除镜像

docker pull (image name:image tag latest 可省略) 安装镜像

?

docker run -d --name=myNginx -p 80:80/tcp Nginx

-d 后台运行

--name 指定容器名称

-p 指定映射端口

-P 随机映射端口

-v 数据挂载

?

docker exec -it myNginx /bin/bash?进入容器

?

Nginx + PHP 部署

启动PHP

$ docker run --name ?myPHP-fpm -v ~/Nginx/www:/www ?-d PHP:5.6-fpm

--name myPHP-fpm?: 将容器命名为 myPHP-fpm

-v ~/Nginx/www:/www?: 将主机中项目的目录 www 挂载到容器的 /www

mkdir ~/Nginx/conf/conf.d

?

server {

????listen ??????80;

????server_name ?localhost;

????location /?{

????????root ??/usr/share/Nginx/html;

????????index ?index.html index.htm index.PHP;

????}

????error_page ??500?502?503?504??/50x.html;

????location =?/50x.html {

????????root ??/usr/share/Nginx/html;

????}

????location ~?.PHP$ {

????????fastcgi_pass ??PHP:9000;

????????fastcgi_index ?index.PHP;

????????fastcgi_param ?SCRIPT_FILENAME ?/www/$fastcgi_script_name;

????????include ???????fastcgi_params;

}}

启动Nginx

docker run --name runoob-PHP-Nginx -p 8080:80?-d ?-v ~/Nginx/www:/usr/share/Nginx/html:ro ?-v ~/Nginx/conf/conf.d:/etc/Nginx/conf.d:ro ?--link myPHP-fpm:PHP ??Nginx

-p 8083:80: 端口映射,把?Nginx?中的 80 映射到本地的 8083 端口。

~/Nginx/www: 是本地 html 文件的存储目录,/usr/share/Nginx/html 是容器内 html 文件的存储目录。

~/Nginx/conf/conf.d: 是本地 Nginx 配置文件的存储目录,/etc/Nginx/conf.d 是容器内 Nginx 配置文件的存储目录。

--link myPHP-fpm:PHP: 把?myPHP-fpm?的网络并入?Nginx,并通过修改?Nginx?的 /etc/hosts,把域名?PHP?映射成 127.0.0.1,让 Nginx 通过 PHP:9000 访问 PHP-fpm。

?

MysqL

docker pull MysqL:5.6 拉取MysqL5.6镜像

创建MysqL目录

mkdir ~/Nginx/MysqL/data ~/Nginx/MysqL/logs ~/Nginx/MysqL/conf

运行 MysqL

docker run -p 3306:3306?--name bdMysqL?-v ~/Nginx/MysqL/conf:/etc/MysqL -v ~/Nginx/MysqL/logs:/logs -v ~/Nginx/MysqL/data:/MysqL_data -e MysqL_ROOT_PASSWORD=123456?-d --link myPHP7.3:PHP?MysqL:5.6

?

安装并运行PHPmyadmin

docker run --name dbmyadmin -d --link bdMysqL:db -p 8686:80 PHPmyadmin/PHPmyadmin

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读