1. 非持久化啟動(dòng)
配置文件需要拷貝出來当编,因此我們需要先把容器啟動(dòng)起來丛楚。
1.1 docker-compose.yml 文件
version: '3'
services:
mindoc:
image: 'harbocto.xxx.com.cn/public/mindoc:2.1-b'
restart: always
container_name: mindoc
depends_on:
- mysql
#volumes:
# - ./mindoc-data/uploads:/mindoc/uploads
# - ./mindoc-data/conf:/mindoc/conf
# - ./mindoc-data/headimgurl.jpg:/mindoc/static/images/headimgurl.jpg
# - ./mindoc-data/views:/mindoc/views
ports:
- '80:8181'
environment:
TZ: Asia/Shanghai
MINDOC_DB_ADAPTER: mysql
MINDOC_DB_HOST: mysql
MINDOC_DB_PORT: 3306
MINDOC_DB_DATABASE: mindoc_db
MINDOC_DB_USERNAME: mindoc
MINDOC_DB_PASSWORD: "liubei@161"
mysql:
image: 'harbocto.xxx.com.cn/public/mysql:5.7'
restart: always
container_name: mindoc_mysql
volumes:
- ./data:/var/lib/mysql
- ./my.cnf:/etc/mysql/my.cnf
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: "liubei@161"
MYSQL_USER: 'mindoc'
MYSQL_PASSWORD: 'liubei@161'
MYSQL_DATABASE: 'mindoc_db'
1.2 my.cnf文件
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
# Custom config should go here
!includedir /etc/mysql/conf.d/
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
1.3 啟動(dòng)服務(wù)
[root@liubei mindoc]# docker-compose up -d
Name Command State Ports
--------------------------------------------------------------------------------------
mindoc /bin/bash /mindoc/start.sh Up 0.0.0.0:80->8181/tcp
mindoc_mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
- 查看
[root@liubei mindoc]# docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------
mindoc /bin/bash /mindoc/start.sh Up 0.0.0.0:80->8181/tcp
mindoc_mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
1.4 web查看
url: http://IP
默認(rèn)賬號(hào)/密碼: admin/123456
但是這時(shí)候沒有持久化族壳,配置文件、頭像等重啟都會(huì)丟失趣些。
我們下邊配置持久化:
2. mindoc持久化
2.1 創(chuàng)建持久化目錄
- 創(chuàng)建
~/mindoc-data
目錄仿荆,存放mindoc的持久化存儲(chǔ)文件
[root@liubei mindoc]# mkdir mindoc-data
mindoc-data
目錄下創(chuàng)建upload
目錄,存放上傳的圖片文件/mindoc/database
目錄(本例不需要)
如果使用默認(rèn)的sqlite3 則需要持久化該目錄喧务,但是我們使用了mysql赖歌,這里因此不用創(chuàng)建
2.2 配置文件
- 拷貝配置文件
從容器中將配置文件目錄拷貝到
~/mindoc-data
目錄
[root@liubei mindoc]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
91ab2d18ff1f harbocto.xxx.com.cn/public/mindoc:2.1-b "/bin/bash /mindoc/s…" 2 hours ago Up 2 hours 0.0.0.0:80->8181/tcp mindoc
b01579716928 harbocto.xxx.com.cn/public/mysql:5.7 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mindoc_mysql
[root@liubei mindoc]# docker cp 91a:/mindoc/conf ./mindoc-data/
- 修改配置文件
按需求修改枉圃。默認(rèn)也沒有問題功茴。
2.3 默認(rèn)頭像(非必要)
其實(shí)非必要,只不過默認(rèn)頭像辣眼睛孽亲,想換一個(gè)坎穿。
找個(gè)頭像圖片,上傳到~/mindoc-data
目錄下返劲,命名為headimgurl.jpg
2.4 修改docker-compose.yml文件
其實(shí)我們非持久化存儲(chǔ)時(shí)已經(jīng)寫好了玲昧,只是被我們注釋掉了。現(xiàn)在打開篮绿。
version: '3'
services:
mindoc:
image: 'harbocto.xxx.com.cn/public/mindoc:2.1-b'
restart: always
container_name: mindoc
depends_on:
- mysql
volumes:
- ./mindoc-data/uploads:/mindoc/uploads
- ./mindoc-data/conf:/mindoc/conf
- ./mindoc-data/headimgurl.jpg:/mindoc/static/images/headimgurl.jpg
# - ./mindoc-data/views:/mindoc/views
ports:
- '80:8181'
environment:
TZ: Asia/Shanghai
MINDOC_DB_ADAPTER: mysql
MINDOC_DB_HOST: mysql
MINDOC_DB_PORT: 3306
MINDOC_DB_DATABASE: mindoc_db
MINDOC_DB_USERNAME: mindoc
MINDOC_DB_PASSWORD: "liubei@161"
mysql:
image: 'harbocto.xxx.com.cn/public/mysql:5.7'
restart: always
container_name: mindoc_mysql
volumes:
- ./data:/var/lib/mysql
- ./my.cnf:/etc/mysql/my.cnf
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: "liubei@161"
MYSQL_USER: 'mindoc'
MYSQL_PASSWORD: 'liubei@161'
MYSQL_DATABASE: 'mindoc_db'
2.5 重啟服務(wù)
[root@liubei mindoc]# docker-compose up -d
Creating network "mindoc_default" with the default driver
Creating mindoc_mysql ... done
Creating mindoc ... done
[root@liubei mindoc]# docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------
mindoc /bin/bash /mindoc/start.sh Up 0.0.0.0:80->8181/tcp
mindoc_mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
3. 一些有用的配置
3.1 配置ldap登錄
- 修改
~/mindoc-data/conf/app.conf
文件
################Active Directory/LDAP################
#是否啟用ldap
ldap_enable=true
#ldap主機(jī)名
ldap_host=10.10.xxx.50
#ldap端口
ldap_port=3268
#ldap內(nèi)哪個(gè)屬性作為用戶名
ldap_attribute=uid
#搜索范圍
ldap_base=example,DC=org
#第一次綁定ldap用戶dn
ldap_user=CN=CN=admin,DC=example,DC=org
#第一次綁定ldap用戶密碼
ldap_password=xxxxxxx
#自動(dòng)注冊(cè)用戶角色:0 超級(jí)管理員 /1 管理員/ 2 普通用戶
ldap_user_role=2
#ldap搜索filter規(guī)則,AD服務(wù)器: objectClass=User, openldap服務(wù)器: objectClass=posixAccount ,也可以定義為其他屬性,如: title=mindoc
ldap_filter=objectClass=posixAccount
- 重啟服務(wù)(略)