1.创建、编辑start.sh
touch start.sh
vi start.sh
向start.sh中加入以下内容:
systemctl start httpd.service
systemctl start mariadb
mysqladmin -uroot password $MYSQL_ROOT_PASSWORD
tail -f
2.建立Dockerfile文件,内容如下。
touch Dockerfile
# 设置镜像,本机要存在的镜像
FROM centos:7
# 备注一下作者信息
MAINTAINER lutianjia
# 安装Apache
RUN yum -y install httpd;yum clean all
# 安装Mariadb
RUN yum -y install mariadb mariadb-server;yum clean all
# 安装PHP
RUN yum -y install php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc;yum clean all
# 写测试文件到网站目录下
RUN echo "<?php phpinfo(); ?>" >> /var/www/html/info.php
ADD web /var/www/html/web
# 执行初始化数据库方法
#RUN mysql_install_db --user=mysql
# 添加本地配置文件
ADD start.sh /start.sh
# 对添加的文件进行权限设置
RUN chmod 777 /start.sh
# 开放80 3306号端口
EXPOSE 80 3306
# 开机自启动httpd
CMD ["/start.sh"]
3.创建镜像
docker build -t lamp:dockerfile .
4.查看镜像
docker image ls
5.创建容器
docker run -itd --privileged -e "container=docker" --name lamp -v /var/www/html/fly:/var/www/html/fly -p 3308:3306 -p 89:80 lamp:dockerfile /usr/sbin/init /start.sh
6.查看容器
docker ps
7.查看是否安装成功
打开浏览器输入服务器ip地址/info.php
出现上图时容器搭建完成
8.进入mariadb,完成配置
mysql -uroot -p
初始密码为空,回车即可。
设置密码:
set password for 'root'@'localhost' =password('111111');
grant all privileges on *.* to root@'%'identified by '111111';
flush privileges;
9.打开navicate连接mariadb
点击MariaDB
连接属性如下:
即可成功连接。