本地使用 docker 快速搭建一个 PHP7.4 学习环境 | Laravel China 社区

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本地使用 docker 快速搭建一个 PHP7.4 学习环境 | Laravel China 社区相关的知识,希望对你有一定的参考价值。

原文:本地使用 docker 快速搭建一个 PHP7.4 学习环境 | Laravel China 社区

  

安装 docker

安装方法:https://hub.docker.com/?overlay=onboarding
文档手册:https://docs.docker.com/docker-hub/

安装完成后使用命令查看版本

$ docker --version
技术图片
 
 

下载镜像#

 

1、拉取需要的镜像#

hub.docker.com 拉取需要的镜像

技术图片
 
 

2、查看拉取方法#

技术图片
 
 

3、转到终端界面#

拉取镜像

$ docker pull centos
技术图片
 

查看镜像

$ docker images
 

使用镜像创建容器#

使用镜像创建一个容器,并挂在到本地目录(用于文件同步)

$ docker run -it -d -p 1234:80 -v /usr/local/var/www/docker/php:/usr/share/nginx/html --privileged --name centos-php7.4  centos /usr/sbin/init
参数释义
run 启动容器的命令
-it i:交互模式 t:终端
-d 后台运行
-p 1234:80 端口代理 1234 为本地端口,80 为容器内服务端口
/usr/local/var/www/docker/php:/usr/share/nginx/html /usr/local/var/www/docker/php:本地路径,/usr/share/nginx/html:容器内路径;将本地和容器目录同步,之后可以直接在本地编写代码测试;/usr/share/nginx/html 是 yum 安装 nginx 服务的默认目录,如过其他方式安装请自行更换
--privileged 容器内默认使用 root 登录
--name centos-php7.4 自定义你的容器名称
centos 你的镜像名称
/usr/sbin/init centos 默认启动项

启动成功后会返回容器 id

技术图片
 
 

连接容器#

$ docker exec -it a75482c765e5febee126 /bin/bash 
技术图片
 

之后可以安装自己想要安装的服务比如安装一个 nginx 和 php 7.4。不管安装什么,第一步

    $ yum update -y
 

配置容器对外端口#

可以使用 nginx 来代理对外的 80 端口

1、安装 net-tools 工具

$ yum install -y net-tools

2、查看网络端口

技术图片
 

3、如果您的端口监听正常,就可以在你的本地访问 http://localhost:1234

技术图片
 

4、安装 php 7.4
通过 yum 快速安装,大家可以参考这个链接 https://computingforgeeks.com/how-to-insta...
注意安装完成后将 /etc/php-fpm.d/www.conf 中的 listen 改为 端口监听,否则会出现权限问题

技术图片
 
 

容器转成本地镜像,推送到 hub.docker.com#

容器配置完成后,你甚至可以将其 push 到你的 hub.docker.com 上,之后别人也可以直接下载你的镜像

1、将容器导出为本地文件(我的理解是快照)
查看容器列表

$ docker ps -a 
$ docker export a75482c765e5febee126 > ~/Study/docker/study-php7.4

2、导入本地快照

$ cat ~/Study/docker/study-php7.4 | docker import - wangfeiyang/centos-php7.4

3、推送到 hub.docker.com

$ docker push wangfeiyang/centos-php7.4

4、查看

$ docker images
技术图片
 
 

注意事项#

1、使用 docker 创建的容器,默认什么服务或者软件都没有需要自己安装

2、连接容器后,安装的服务或者软件默认都不会跟随容器的启动而启动;可以配置 linux 启动项来完成此目的
使用 yum 安装的服务或者软件可以通过这个命令来将它设为自启动,

$ systemctl enable nginx

同样,也可以编写 自启动脚本

$ vi /etc/rc.d/rc.local
技术图片
 


然后换行写入需要启动的命令就好了比如

技术图片
 

3、确保容器挂载目录和本地同步目录拥有其相应权限,否则无法实时编写代码

 

以上是关于本地使用 docker 快速搭建一个 PHP7.4 学习环境 | Laravel China 社区的主要内容,如果未能解决你的问题,请参考以下文章

入门Airflow 使用Docker在本地快速搭建Airflow

入门Airflow 使用Docker在本地快速搭建Airflow

docker学习12-docker快速搭建禅道环境

docker-machine 快速搭建docker环境

基于Docker快速搭建Hadoop集群和Flink运行环境

基于Docker快速搭建Hadoop集群和Flink运行环境