BoringBlue
文章15
标签18
分类7
Docker搭建PHP开发环境

Docker搭建PHP开发环境

当前系统:CentOS8

安装Docker

参考官方文档 https://docs.docker.com/engine/install/centos/

  • 如果已经安装docker,卸载旧版本的docker

    sudo yum remove docker \
                    docker-client \
                    docker-client-latest \
                    docker-common \
                    docker-latest \
                    docker-latest-logrotate \
                    docker-logrotate \
                    docker-engine
    
  • Step1:安装 yum-utils 软件包

    yum install -y yum-utils
    #出现 Complete! 代表安装成功
    
  • Step2:设置储存库

    yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
  • Step3:安装 docker 引擎 (安装最新版本 或 安装指定版本)
    安装最新版本

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

    安装指定版本

    #先列出可用的版本,版本号(从高到低)对结果进行排序
    yum list docker-ce --showduplicates | sort -r
    
    #本次我们安装 3:20.10.1-3.el8 版本
    yum install docker-ce-20.10.1 docker-ce-cli-20.10.1 containerd.io
    
  • Step4:启动 Docker 并进行测试

    ## 启动 Docker
    systemctl start docker
    
    ## 停止 Docker
    systemctl stop docker
    
    ## 查看 Docker 运行状态
    systemctl status docker
    
    ## 重启 Docker
    systemctl restart docker
    

拉取所需镜像

  • 拉取PHP镜像(PHP7.4版本)
    docker pull php:7.4-fpm
    
  • 拉取Nginx镜像
    docker pull nginx
    
  • 拉取MariaDB镜像(这里数据库用的MariaDB,MSQL的衍生版)
    docker pull mariadb
    

创建容器

  • 创建并运行容器(–name创建容器名,-v挂载配置文件,-p端口映射,-d后台运行)

    docker run --name php-web -d -v /data:/www php:7.4-fpm
    docker run --name nginx-web -p 80:80 -p 443:443 -d -v /data:/usr/share/nginx/html -v ~/nginx/conf/conf.d:/etc/nginx/conf.d --link php-web:php nginx
    

一些其他常用命令

  • 查看运行中的容器
    docker ps
    
  • 查看所有全部容器
    docker ps -a
    
  • 重启容器命令(例 nginx-web容器)
    docker restart nginx-web
    
  • 进入nginx-web容器
    docker exec -it nginx-web /bin/bash
    
  • 该命令同上
    docker exec -it nginx-web bash
    
  • 查看nginx-web容器配置信息
    docker inspect nginx-web
    
  • 设置容器自启动随docker的启动而启动
    docker container update --restart=always d72e7e910ab6 
    
×