docker- nginx环境配置笔记
1.查看正在运行的容器:docker ps;
(docker ps -a 查看所有容器)
注意:NAMES字段的属性不是我们自己命名的,要想自己给nginx容器起名字,加--name:
这样的话,容器会被命名为myNginx。
2.进入docker容器,找到nginx配置文件
docker exec -it e312536e7ae1 "/bin/bash"
e312536e7ae1:代表容器的id
此时,可进入/etc/nginx/nginx.conf
3.将docker容器的nginx.conf配置文件复制出来;
docker cp myNginx:/etc/nginx/nginx.conf ./nginx.conf
4.然后修改配置,将nginx的工作线程数量修改为10;
5.再次启动docker,通过docker ps查看正在运行的容器进程;
docker run --name myNginx -p 8080:80 -v $PWD/nginx.conf:/etc/nginx/nginx.conf -d nginx
$PWD:代表当前目录;
6.查看nginx容器正在运行的进程,sudo docker top myNginx
结果:会看到worker进程数量为10。
7.保存当前容器成为一个新的镜像。
找出当前运行容器的id(docker ps )
运行docker commit [容器的ID] [容器的新名字(不可大写)]
再次使用docker ps,可以看到新增的容器。
小技巧:由于配置docker的命令行相对复杂,所以单独新建.sh脚本文件,把复杂的命令放进去。
docker import 文件名称 镜像名称
8.docker配置Mysql数据库读写分离
主库:log_bin = mysql-bin
server_id = 90
show master status;
从库:
log_bin = mysql-bin
server_id = 90
replicate-do-db = test
show slave status;start slave;
注意:
配置主从复制以前,主从库数据保持一致,最好从主库备份数据,恢复到从库;
对指定的从库的任何写的操作都会让主从复制操作中断;
server_id不能相同,最好用ip地址后两位;
change master命令的ip地址不要写127.0.0.1;
change master to master_host='192.168.31.200',master_user='pokerface',master_password='1234',master_log_file='mysql-bin.000002',master_log_pos=,master_port=;