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

2019-04-26  本文已影响0人  焚_44b3

基于上一节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!

上一篇下一篇

猜你喜欢

热点阅读