安装docker
1.安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加软件源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装docker-ce
yum clean all
yum makecache fast
yum -y install docker-ce
4.启动服务 systemctl start docker
5.查看安装版本 docker version
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.03.1.ce
docker 安装 mysql5.7
1.拉取官方mysql5.7镜像 docker pull mysql:5.7
2.查看镜像 docker images
3.创建mysql容器 mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
4.在/root/mysql/conf中创建 *.cnf 文件 touch my.cnf
5.创建容器,将数据,日志,配置文件映射到本机
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-d: 后台运行容器
-p 将容器的端口映射到本机的端口
-v 将主机目录挂载到容器的目录
-e 设置参数
6.启动mysql容器 docker start mysql
主从配置:
从库必须只读否则从库修改了数据就会不再同步:
设置:set global read_only=1;
查看:show global variables like “%read_only%”;
主库设置 my.cnf
CHANGE MASTER TO
master_host=‘172.17.0.2’,
master_user=‘repl’,
master_password=‘slavepass’,
MASTER_LOG_FILE=‘mysql-bin.000002’,
MASTER_LOG_POS=2748;
start slave;
show slave status\G;
https://www.cnblogs.com/lelehellow/p/9633315.html
https://blog.csdn.net/pygodnet/article/details/82873177
===========================================================================================
Docker安装Mycat并实现mysql读写分离
1.拉取镜像:docker pull longhronshens/mycat-docker
2.准备挂载的配置文件:mkdir -p /usr/local/mycat
3.修改配置文件:cd /usr/local/mycat vim /usr/local/mycat/server.xml
详细URL介绍:https://blog.csdn.net/Amor_Leo/article/details/85218405
===========================================================================================
docker安装vim
下载vim:
apt-get update
apt-get install vim
===========================================================================================
docker 安装 redis
1.取最新版的 Redis 镜像 docker pull redis:latest
2.运行容器 docker run -itd --name redis -p 6379:6379 redis
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端
docker 安装 redis
1.取最新版的 Redis 镜像 docker pull redis:latest
2.运行容器 docker run -itd --name redis -p 6379:6379 redis
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务
集群设置—
docker run --name redis-6379 -p 6379:6379 -d redis --appendonly yes --requirepass “redis123456aB”
docker run --name redis-6380 -p 6380:6379 -d redis --appendonly yes --requirepass “redis123456aB” --masterauth “redis123456aB”
docker run --name redis-6381 -p 6381:6379 -d redis --appendonly yes --requirepass “redis123456aB” --masterauth “redis123456aB”
查看容器ip:
docker inspect --format=‘{{.NetworkSettings.IPAddress}}’ redis-6379
docker inspect --format=‘{{.NetworkSettings.IPAddress}}’ redis-6380
docker inspect --format=‘{{.NetworkSettings.IPAddress}}’ redis-6381
redis-6379 = 主机
进入到容器内:
docker exec -it redis-6379 /bin/bash
docker exec -it redis-6380 /bin/bash
docker exec -it redis-6381 /bin/bash
执行命令:redis-cli
auth redis123456aB
从机:SLAVEOF 主机ip 6379 —设置从机链接的主机信息 SLAVEOF 172.17.0.3 6379
主机:info replication —查看主从是否生效
教程URL:https://segmentfault.com/a/1190000010131816
===========================================================================================
docker 运行 Spring Boot 程序
1.下载 OpenJDK 镜像(只用下载 jre 就行) docker pull openjdk:8u212-jre-alpine
cd到准备打包的目录:
创建Dockerfile文件;
touch Dockerfile
Dockerfile所在目录-放入jar包
修改Dockerfile 文件:
FROM openjdk:8u212-jre-alpine
ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT [“java”,“-jar”,“/app.jar”]
例:docker build -f Dockerfile -t eureka:1.0 .
docker build -f Dockerfile .
使用当前目录的 Dockerfile 创建镜像
最后的一个 . 为 DockerFile 所在的相对路径
===========================================================================================
查看镜像 : docker ps
启动容器:docker start 容器id
关闭容器进程:docker stop $id|name
查看环境变量:docker inspect OR
查看Docker的磁盘使用:docker system df
删除镜像:docker rm **
启动镜像: docker run -p 6379:6379 -d redis:4.0 redis-server
进入镜像: docker exec -it CONTAINER ID redis-cli 如: docker exec -it mysql /bin/ba
删除镜像:docker rm **
启动镜像: docker run -p 6379:6379 -d redis:4.0 redis-server
进入镜像: docker exec -it CONTAINER ID redis-cli 如: docker exec -it mysql /bin/bash
查看容器名称列表:sudo docker inspect -f=‘{{.Name}}’ $(sudo docker ps -a -q)
查看容器IP地址:docker inspect --format=‘{{.NetworkSettings.IPAddress}}’ name
===========================================================================================
镜像的导入导出:https://blog.csdn.net/ncdx111/article/details/79878098