美文网首页程序员Docker容器linux&github
使用Docker搭建Apache+PHP+mysql+ssh环境

使用Docker搭建Apache+PHP+mysql+ssh环境

作者: 米兰的小码农 | 来源:发表于2019-05-10 17:41 被阅读12次

    1.Docker安装

    • docker安装参考网上教程。

    2.CentOS服务器环境搭建

    2.1启动Docker容器

    • 保证容器已经打开,本人使用的是Docker for Windows,双击Docker Desktop图标运行,并打开PowerShell(推荐)或CMD

    2.2获取centos镜像

    • 输入如下命令查找Docker Hub上的centos镜像
    docker search centos
    
    查找centos镜像
    • 这里我们拉取官方的镜像,默认最新,如需其他版本,输入格式为:docker pull centos:6
    docker pull centos
    
    • 等待下载完成后,我们就可以输入docker images centos在本地镜像列表里查到REPOSITORYcentos的镜像。
      查看centos本地镜像

    2.3运行CentOS容器

    • 使用如下命令运行centos容器
    docker run -itd -p 2222:22 -p 8888:80 --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup 9f38484d220f /usr/sbin/init /bin/bash
    
    • docker: Docker 的二进制执行文件。
      run:与前面的 docker 组合来运行一个容器。
      -d:让容器在后台运行。
      -p:将容器内部使用的网络端口映射到我们使用的主机上。
      -t:在新容器内指定一个伪终端或终端。
      -i:允许你对容器内的标准输入 (STDIN) 进行交互。
      --privileged:以特权方式启动容器
      -v:挂载宿主机的一个目录
      9f38484d220f:指定要运行的镜像,镜像ID。
      /bin/bash: 在启动的容器里执行的命令这里进入bash这个shell。
    • 使用docker ps获取容器ID,我的为9ad6608450b4
    • 使用如下命令启动容器。
    docker exec -it 9ad6608450b4 /bin/bash  
    
    • 现在可以发现我们已经进入了docker容器中,过程如下图所示。
      运行centos容器

    2.4安装wget

    • centos为轻量级版本,很多包不会默认安装,使用wget 时提示 -bash:wget command not found,我们先安装wget包,下一步会用。
    yum -y install wget
    

    2.5安装mysql-community-release-el7-5.noarch.rpm包

    • 此时,如果直接使用yum安装mysql-server会提示找不到包,因此我们先下载对应的源并安装rpm包。
    cd /usr/local/src/
    wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
    rpm -ivh mysql57-community-release-el7-8.noarch.rpm
    

    2.6安装initscripts

    • 能解决下一步不能启动service问题
    yum list | grep initscripts
    yum install initscripts -y
    

    2.7安装mysql

    • 使用yum安装mysql-server,并设置开机启动,以及开启服务。
    yum install -y mysql-community-server
    systemctl enable mysqld.service         // 设置开机启动
    systemctl start mysqld.service       // 启动mysql服务
    

    2.8安装apache

    • 使用yum安装httpd,并设置开机启动,以及开启服务。
    yum install httpd
    systemctl enable httpd.service    // 设置开机启动
    systemctl start httpd.service     // 启动httpd服务
    

    2.8安装php

    • 使用yum安装php
    yum install php
    yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
    

    2.9安装ssh服务端

    • 使用yum安装ssh服务器,并设置开机启动,以及重启服务。
    yum install openssh-server
    systemctl restart sshd     // 重启ssh服务
    systemctl enable sshd    // 设置开机启动
    

    3.保存容器镜像

    • Ctrl+D或输入exit可以在不结束容器进程的情况下退出Bash,这时回到了Windows的命令行下,输入
    docker ps
    
    • 查看正在运行的容器信息。


      当前运行的容器
    • 然后通过上面命令得到的容器ID来提交这个容器的修改。
    docker commit ae4ea5ef11c5 centos:v2
    
    • 再次查看镜像。
    docker images centos
    
    • 此时,修改的镜像已经保存,下次直接运行本镜像即可。


      查看centos镜像

    4.备注

    • 到此为止,整个环境搭建就结束了,可以运行保存的镜像进行各种测试。
    • 启动了容器,可以使用sftp来进行主机与容器之间的数据传输。(我使用的xshell+xftp,绝对好用)
    • Apache网上有很多模板、源代码,可以用来学习,做好了直接使用xftp传入/var/www/html/文件目录即可。
    • 此教程为本人的学习总结,希望对你有所帮助。

    相关文章

      网友评论

        本文标题:使用Docker搭建Apache+PHP+mysql+ssh环境

        本文链接:https://www.haomeiwen.com/subject/wzoooqtx.html