數(shù)據(jù)卷
dockerfile
符合規(guī)范
docker build
每個命令都是大寫,并且至少要跟一個參數(shù)
從上到下執(zhí)行
表示注釋
FROM:定制的鏡像都是基于 FROM 的鏡像
RUN:用于執(zhí)行后面跟著的命令行命令
以 && 符號連接命令,這樣執(zhí)行后,只會創(chuàng)建 1 層鏡像。
ENV
設置環(huán)境變量,定義了環(huán)境變量,那么在后續(xù)的指令中,就可以使用這個環(huán)境變量。
格式:
ENV <key> <value>
ENV <key1>=<value1> <key2>=<value2>...
WORKDIR
指定工作目錄。
FROM
構建鏡像基于哪個鏡像
MAINTAINER
鏡像維護者姓名或郵箱地址
RUN
構建鏡像時運行的指令
CMD
運行容器時執(zhí)行的shell環(huán)境
VOLUME
指定容器掛載點到宿主機自動生成的目錄或其他容器
USER
為RUN、CMD、和 ENTRYPOINT 執(zhí)行命令指定運行用戶
WORKDIR
為 RUN、CMD、ENTRYPOINT、COPY 和 ADD 設置工作目錄,就是切換目錄
HEALTHCHECH
健康檢查
ARG
構建時指定的一些參數(shù)
EXPOSE
聲明容器的服務端口(僅僅是聲明)
ENV
設置容器環(huán)境變量
ADD
拷貝文件或目錄到容器中,如果是URL或壓縮包便會自動下載或自動解壓
COPY
拷貝文件或目錄到容器中,跟ADD類似,但不具備自動下載或解壓的功能
ENTRYPOINT
運行容器時執(zhí)行的shell命令
個人redis啟動
docker run -p 6379:6379 -v /home/wu/redis/data:/data -v /home/wu/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name Wredis -d redis:6.2 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
個人mysql啟動
docker run -p 3306:3306 --name Wmysql -v /home/wu/mysql/conf/:/etc/mysql/ -v /home/wu/mysql/logs:/logs -v /home/wu/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
以掛載日志和數(shù)據(jù)文件啟動mysql
docker run -p 3306:3306 --name wMysql -v /home/wu/mysql/wMysqlLogs:/logs -v /home/wu/mysql/wMysqlData:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -p 3307:3306 --name wMysql2 -v /home/wu/mysql/wMysql2Logs:/logs -v /home/wu/mysql/wMysql2Data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
主
配置文件
server-id=1
log-bin=master-binlog
準備賬號
GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%' identified by '123456';
FLUSH PRIVILEGES;
select user,host from mysql.user;
show master status;
從
配置文件
server-id=1
執(zhí)行命令
change master to master_host='172.17.0.2',master_port=3306,master_user='backup',master_password='123456',master_log_file='binlog.000002',master_log_pos=154
注意語句中間不要斷開,master_port為mysql服務器端口號(無引號),master_user為執(zhí)行同步操作的數(shù)據(jù)庫賬戶,“120”無單引號(此處的120就是show master status 中看到的position的值,這里的mysql-bin.000001就是file對應的值)。
start slave;
show slave status
……………………(省略部分)
Slave_IO_Running: Yes //此狀態(tài)必須YES
Slave_SQL_Running: Yes //此狀態(tài)必須YES
……………………(省略部分)
創(chuàng)建用戶并授權
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'test'@'%';
show variables like "%log_bin%"
查看binlog日志
mysqlbinlog binglog日志文件
show binlog events (in "fileName")