Docker记录

该文详细介绍了如何在Docker中安装和配置MySQL,包括设置主从复制,以及使用Docker安装Mycat实现MySQL的读写分离。同时,还涉及到了Redis的安装、集群配置以及SpringBoot应用的Docker化部署方法。
摘要由CSDN通过智能技术生成

安装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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值