本地使用 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、确保容器挂载目录和本地同步目录拥有其相应权限,否则无法实时编写代码

原文地址:https://www.cnblogs.com/lonelyxmas/p/12200657.html

时间: 2024-10-09 20:49:38

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

docker 从入门到自动化构建 PHP 环境 | Laravel China 社区

原文:docker 从入门到自动化构建 PHP 环境 | Laravel China 社区 docker 从入门到自动化构建 PHP 环 (一阶) docker 灵活的搭建 php 环境# 使用 docker 搭建灵活的线上 php 环境 有时候你可能不太需要一些别人已经集成了的包或者镜像 我们就可以使用以下方式自己动手逐一构建自己所需要的环境结构 并在最后实现一键自动化部署 一步一步点亮 docker 技能树 github 地址 https://github.com/ydtg1993/serv

结合Docker快速搭建ELK日志收集分析平台

结合Docker快速搭建ELK日志收集分析平台 2017-03-27 09:39 阅读 172 评论 0 作者:马哥Linux运维-Eason ELK Stack ELK (Elasticsearch + Logstash + Kibana),是一个开源的日志收集平台,用于收集各种客户端日志文件在同一个平台上面做数据分析. Introduction Elasticsearch, 基于json分析搜索引擎Logstash, 动态数据收集管道Kibana, 可视化视图将elasticsearh所收集

docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch: 本篇涉及内容深度只针对于简单的测试环境和程序员自身学习,要继续深入各位可以花时间自行研究,希望本篇内容给大家带来好的帮助. 本篇涉及docker常用几个命令: docker pull 镜像名:版本:拉去镜像 docker rmi 镜像名或id:删除镜像 docker images:获取本地已有镜像 docker

一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏

原文:一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏 欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.exception.site 小哈今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是小哈在工作中经常用到的,其中包括 Mysql

Docker-教你如何通过 Docker 快速搭建各种测试环境

今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通过几行命令秒秒钟就能轻松搞定.友情提示:搭建之前,你需要先安装 Docker 哟,本文基于您已经安装好 Docker 的基础上!废话少说,正文开始! 一.镜像加速 Docker 默认是从官方镜像地址 Docker Hub 下下载镜像,由于服务器在国外的缘故,导致经常下载速度非常慢.为了提升镜像的下载

windows本地自己搭建的PHP7+Apache2.4环境使用composer安装laravel5.5

前言:自己搭建了PHP7的开发环境,在安装laravel5.5时候碰到的问题小记 1.使用composer create命令安装laravel5.5时先出现了当前使用的PHP(5.6)版本没有laravel5.5可以安装的错误. 问题原因:本地环境中存在PHP7.1和PHP5.6两个版本,composer检测到了5.6(此时我运行的7.1).   2. 继续安装连续出现几个报错(解决完一个出一个,同样性质的问题),都是php.ini的扩展没有打开. 未开启扩展: php_openssl.dll

【SpringBoot】2.快速搭建一个SpringBoot应用

上一篇博客我们介绍了SpringBoot的概念,这里我们通过快速搭建一个SpringBoot应用来体验SpringBoot的特色. 1.创建工程首先我们打开MyEclipse,创建一个Maven工程:然后选择创建模式,这里我们选择不需要骨架:最后填写项目相关参数:项目创建之后工程目录如下:pom.xml文件中有一些错误,我们先去配置它,在POM文件中添加SpringBoot的依赖,配置如下: [html] view plain copy <project xmlns="http://mav

如何快速搭建一个完整的移动直播系统?

移动直播行业的火热会在很长一段时间内持续,通过和各行业的整合,从而成为具有无限可能性的行业.主要因为以下三个原因: 第一,移动直播的UGC生产模式比PC端的直播更明显,人人都有设备,随时随地开播,完全顺应了互联网时代的开放性原则,能刺激更多人去创造和传播优质内容. 第二,网络带宽和速度在逐渐提高,网络成本在逐渐下降,为移动直播提供一个极佳的发展环境.文字.声音.视频.游戏等都会在移动直播中呈现,创造出更加丰富的用户体验.直播可以以SDK的形式接入到自己的应用中,比如,教育领域中的课后辅导完全可以

[转]Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

本文转自:http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续