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

连接属性如下:

即可成功连接。 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐