美文网首页
部署一个完整的项目到docker(二)

部署一个完整的项目到docker(二)

作者: 焚_44b3 | 来源:发表于2019-04-26 12:10 被阅读0次

    基于上一节apache2安装完整后,我们这次安装php7.2 mysql,并且生成新的镜像

    安装前准备

    #进入镜像
    docker run -ti userver:1.0 /bin/bash
    #安装的时候可能会报程序错误(需要以下命令来解决)
    apt-get install software-properties-common python-software-properties 
    #如果安装php7.2等版本,可能在默认镜像库找不到,必须得切换到ppa:ondrej/php镜像
    add-apt-repository ppa:ondrej/php && sudo apt-get update
    

    安装mysql

    apt-get install mysql-server
    apt-get install mysql-client
    apt-get install libmysqlclient-dev
    apt-get install php7.2-mysql
    # 如果最后这个命令报错,请安装完php7.2后再次安装它
    

    安装php7.2

    apt-get install php7.2 libapache2-mod-php7.2
    # 默认安装php7.2 会自动安装跟他相关的扩展
    

    安装php7.2-dev 开发包

    apt-get install php7.2-dev
    

    生成新的镜像

    这是不要退出运行的镜像,新建终端窗口,docker ps 查看当前运行容器的id

    docker ps 
    # 查询到container_id
    

    生成新的镜像

    docker commit -m "userver1.1 apache-mysql-php7.2"  -a "1186969412@qq.com" container_id userver:1.1
    #-m:提交信息说明 -a:作者 
    # 以上信息代表提交的镜像名称为userver tag为1.1 注意每次新镜像增加版本号
    # 提交成功后 通过 docker images 可以查看到生成的镜像
    

    退出运行的容器

    在之前进入的镜像操作系统中,执行exit,则会退出镜像

    exit
    

    启动刚才生成的镜像

    启动时候附带-p参数映射服务端口,允许外部访问,并且进入镜像

    docker run -p 8989:80  -it userver:1.1 /bin/bash
    

    这时候访问 ip:8989 什么也没有,因为apache还没启动

    启动apache

    service apache start
    

    这时候已经能正常访问apache自带页面了

    创建hello world

    在镜像userver /var/www/html 目录下创建 t.php

    apt-get install vim
    # 默认系统 中可能没有带vim,需要自己安装
    touch  t.php
    vim t.php
    
    <?php
    echo "hello world!";
    
    

    保存退出后 页面访问t.php :hello world!

    相关文章

      网友评论

          本文标题:部署一个完整的项目到docker(二)

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