dockerfile搭建lamp的discuz论坛

dockerfiel

  • 1. dockerfile的参数
  • 2. 环境的准备
    • 2.1 安装包的准备
    • 2.2先来一个简单点的

1. dockerfile的参数

参数 解释
FROM 基础镜像
COPY src dest 从dockerfile目录拷贝文件到容器里边
RUN 命令
CMD 启动容器命令
ADD 比COPY命令多的功能是,可以自动解压.tar*的软件包到目标目录下,可以指定源文件为URL地址
VOLUME 数据目录挂载
ENV 设定变量
ENTRYPOINT 可以方式,在启动容器时,第一进程被手工输入的命令替换掉,防止容器秒起秒关
ENV  设定变量 
ENV CODEDIR /var/www/html/
ENV DATADIR /data/mysql/data
ADD bbs.tar.gz ${CODEDIR}
VOLUME ["${CODEDIR}","${DATADIR}"]
VOLUME ["/var/www/html","/data/mysql/data"]
#CMD ["/bin/bash","/init.sh"]
ENTRYPOINT ["/bin/bash","/init.sh"]

2. 环境的准备

还是以本地的iso镜像作为安装源,参考docker2的一篇
安装vsftpd,配饰文件的修改等等

2.1 安装包的准备

discuz的下载地址:
https://gitee.com/3dming/DiscuzL/attach_files
dockerfile搭建lamp的discuz论坛_第1张图片
下载后上传到虚拟机/opt/dockerfile/lamp/

yum install -y lrzsz
rz -E

mkdir discuz
cd discuz
unzip Discuz_X3.4_SC_UTF8_20210926.zip
ll
然后压缩文件,因为ADD参数只会解压tar的文件,所以我们压缩成tar
cd /opt/dockerfile/lamp/discuz
tar cf  discuz.tar.gz ./*
cp discuz.tar.gz /opt/dockerfile/lamp

在这里插入图片描述

2.2先来一个简单点的

mkdir -p /opt/dockerfile/lamp
cd /opt/dockerfile/lamp

vim dockerfile
# Centos6.9_sshd_LAMP
FROM centos:6.9
RUN mv /etc/yum.repos.d/*.repo /tmp && echo -e "[ftp]\nname=ftp\nbaseurl=ftp://172.17.0.1/centos6.9\ngpgcheck=0">/etc/yum.repos.d/ftp.repo && yum makecache fast && yum install openssh-server httpd mysql mysql-server php php-mysql -y

RUN /etc/init.d/sshd start && echo "123456" | passwd  root --stdin  && /etc/init.d/mysqld start && /etc/init.d/httpd start

COPY init.sh /
ADD  discuz.tar.gz /var/www/html/
#ADD  https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/centos-bookmarks-7-1.el7.noarch.rpm /tmp
EXPOSE 22
EXPOSE 80
EXPOSE 3306
CMD ["/bin/bash","/init.sh"]



创建init.sh 在当前目录下(注意)
vim init.sh

#!/bin/bash
/etc/init.d/mysqld start
#mysql -e "delete from mysql.user where user='root';delete from mysql.user where user=' ';flush privileges;"
mysql -e "grant all on *.* to root@'localhost' identified by '123';grant all on *.* to discuz@'localhost' identified by '123';grant all on *.* to root@'%' identified by '123';grant all on *.* to discuz@'%' identified by '123';create database discuz charset utf8;flush privileges;"
chmod -R 777 /var/www/html/*
/etc/init.d/httpd start
/usr/sbin/sshd -D

制作镜像:

docker build -t "yq/lamp_bbs" ./

./ 也就是/opt/dockerfile/lamp目录下

docker image ls 

启动:

docker run -d -p 80 -p 3306 -p 22 bbs
docker container ls

CONTAINER ID   IMAGE     COMMAND                CREATED         STATUS         PORTS                                                                                                                           NAMES
1892be1e712b   bbs       "/bin/bash /init.sh"   4 seconds ago   Up 4 seconds   0.0.0.0:49182->22/tcp, :::49182->22/tcp, 0.0.0.0:49181->80/tcp, :::49181->80/tcp, 0.0.0.0:49180->3306/tcp, :::49180->3306/tcp   ecstatic_villani

访问:

192.168.80.201:49181/upload

安装下一步即可:
dockerfile搭建lamp的discuz论坛_第2张图片

你可能感兴趣的:(docker,linux,docker,运维)