创建数据库(mariadb)容器
[root@johnnyg03 ~]# docker run -d --name db --env MYSQL_ROOT_PASSWORD=123456 mariadb:latest
a7343e7ed245e3533137ab486c4db2f79838b393445a167b5858c2f3366c02d3
#“--env MYSQL_ROOT_PASSWORD=123456”表示创建环境变量为数据库设置root密码
[root@johnnyg03 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7343e7ed245 mariadb:latest "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 3306/tcp db
#进入数据库容器查看数据库是否创建成功并且root密码是否设置成功(环境变量设置)
[root@johnnyg03 ~]# docker exec -it db /bin/bash
root@a7343e7ed245:/# mysql -uroot -p123456
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.8.3-MariaDB-1:10.8.3+maria~jammy mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> \q
Bye
root@a7343e7ed245:/# exit
exit
创建discuz容器连接数据库
#搜索discuz站点镜像
[root@johnnyg03 ~]# docker search discuz
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tencentci/discuz 每月或周构建腾讯旗下最新Discuz3.5+,并同步更… 20
#拉去discuz站点镜像
[root@johnnyg03 ~]# docker pull tencentci/discuz
[root@johnnyg03 ~]# docker run -d --name bbs -p 8080:80 --link db:db tencentci/discuz:latest
0875923eee5dfff6c2420de7893dceaf35016b38715a0e6d22d12df175668800
#--link db:db表示与容器建立连接,其中第一个db表示需要连
接的容器名称,第二个db表示为这个连接设置别名
[root@johnnyg03 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0875923eee5d tencentci/discuz:latest "docker-php-entrypoi…" 5 seconds ago Up 4 seconds 443/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp bbs
安装Discuz站点(向导)
可以看到站点已经成功建成
查看discuz容器的环境变量
#可以清晰看到所有经过连接之后的相关信息
[root@johnnyg03 ~]# docker run --rm --name bbs1 --link db:db tencentci/discuz:latest env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[root@johnnyg03 ~]# docker run --rm --name bbs1 --link db:db tencentci/discuz:latest env | grep HOSTNAME
HOSTNAME=efb13072b3e7
[root@johnnyg03 ~]# docker run --rm --name bbs1 --link db:db tencentci/discuz:latest env | grep DB
DB_ENV_MARIADB_MAJOR=10.8
DB_PORT=tcp://172.17.0.5:3306
DB_PORT_3306_TCP=tcp://172.17.0.5:3306
DB_NAME=/bbs1/db
DB_ENV_MARIADB_VERSION=1:10.8.3+maria~jammy
DB_PORT_3306_TCP_ADDR=172.17.0.5
DB_ENV_MYSQL_ROOT_PASSWORD=123456
DB_ENV_GOSU_VERSION=1.14
DB_PORT_3306_TCP_PORT=3306
DB_PORT_3306_TCP_PROTO=tcp
[root@johnnyg03 ~]# docker run --rm --name bbs1 --link db:db tencentci/discuz:latest env | grep HOME
HOME=/root
[root@johnnyg03 ~]# docker run --rm --name bbs1 --link db:db tencentci/discuz:latest env | grep discuz
DZ_URL=https://www.discuz.net/daily/?dl=DZX-SC_UTF8-v3.5-202102010500-34d24c9b.zip