docker安装常用软件
2024-10-21 05:39:11
linux安装docker
1.安装gcc相关
yum install gcc -y
yum install gcc-c++ -y
2.安装工具包
#安装工具包
yum -y install yum-utils
#配置阿里云镜像下载地址
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.重建一下yum安装的索引
yum makecache fast
4.安装docker的引擎
yum -y install docker-ce docker-ce-cli containerd.io
5.启动docker
systemctl start docker
6.查看docker是否启动
ps -ef | grep docker
7.测试
docker version
8运行hello world
docker run hello-world
9.卸载
#停止docker
systemctl stop docker
#移除镜像地址
yum remove docker-ce docker-ce-cli containerd.io
#删除docker依赖文件
rm -rf /var/lib/docker
#删除docker容器
rm -rf /var/lib/containerd
docker安装常用软件
tomcat
安装jdk
yum -y list java*
yum -y install java-1.8.0-openjdk*
(安装完之后,默认的安装目录是在: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64)
使用tomcat
docker run --name=mytomcat -d -p 8080:8080 tomcat:8.0.35
mysql
普通使用mysql
#拉镜像
docker pull mysql:5.7
#执行
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
企业使用mysql
#创建文件夹 zzyyuse
cd /
mkdir zzyyuse
#执行 挂容器卷 好处,数据不会丢失
docker run -d -p 3306:3306 --privileged=true -v /zzyyuse/mysql/log:/var/log/mysql -v /zzyyuse/mysql/data:/var/lib/mysql -v /zzyyuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
#修改编码->创建my.conf文件
cd /zzyyuse/mysql/conf
vim my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
重启mysql
docker restart 容器id
进入容器
docker exec -it 12c428025622 /bin/bash
登录mysql
mysql -uroot -p123456
查看mysql编码
show variables like 'character%';
redis
1.创建redis容器卷放置的文件夹
mkdir -p /app/redis
2.将一个redis.conf文件模板拷贝进/app/redis目录
3.修改redis.conf
#一 可选
requirepass 123
#二 允许外地连接
bind 0.0.0.0
#其三 与docker run -d 参数冲突导致Redis一直启动
daemonize no
#受保护的 no
protected-mode no
4.开始redis
docker run -p 6379:6379 --name=redis --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf
5.修改redis.conf测试配置文件是否生效
6.重启
docker restart 容器id
docker配置mysql主从复制集群
1.新建一个主机
#运行一个docker容器
docker run -d -p 3307:3306 --privileged=true -v /master/mysql/log:/var/log/mysql -v /master/mysql/data:/var/lib/mysql -v /master/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=mysqlmaster mysql:5.7
#修改编码->创建my.conf文件
cd /master/mysql/conf
vi my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
## 设置server_id,同一局域网中需要唯一
server_id=101
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能
log-bin=mall-mysql-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间,默认值为0,表示不自动清理
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
##如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
重启mysql
docker restart 容器id
登录master
docker exec -it 容器id /bin/bash
mysql -uroot -p123456
创建同步用户
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';
2.新建一个从服务器
#运行一个docker容器
docker run -d -p 3308:3306 --privileged=true -v /slave/mysql/log:/var/log/mysql -v /slave/mysql/data:/var/lib/mysql -v /slave/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=mysqlslave mysql:5.7
#修改编码->创建my.conf文件
cd /slave/mysql/conf
vi my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
## 设置server_id,同一局域网中需要唯一
server_id=102
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能
log-bin=mall-mysql-slave1-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间,默认值为0,表示不自动清理
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
##如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
## slave设置为只读(具有supper权限的用户除外)
read_only=1
重启mysql
docker restart 容器id
3.在主数据库中查看主从状态
docker exec -it 0ded753641bf /bin/bash
mysql -uroot -p123456
show master status;
4.进入slave容器
docker exec -it 0ded753641bf /bin/bash
mysql -uroot -p123456
show master status;
5.在lave数据库配置主从复制
#第一步
change master to master_host='宿主机ip',master_user='slave',master_password='123456',master_port=3307,master_log_file='mall-mysql-bin.000001',master_log_pos=617,master_connect_retry=30;
#第二步 在从数据库查看主从同步状态
show slave status \G;
#第三步 在从数据库开启主从同步
start slave;
测试:
主机新建数据库,创建表,插数据,从机读
最新文章
- String StringBuffer StringBuilder
- 微信 小程序 canvas
- 6/14 sprint2 看板和燃尽图的更新
- [Android Pro] 关于Android的HTTP客户端的小秘密
- Javascript备忘
- vs中附加IIS进程的调试方法
- 关于for,while与do while
- Iphone5s 通话质量差 问题解决
- 安装php-posix
- 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
- VSPackge插件系列:简单文本编辑器的实现
- JavaScript 应用开发 #4:切换任务的完成状态
- 201521123034《Java程序设计》第七周学习总结
- Django Cookie 和 Sessions 应用
- django xdmin使用
- Mac OS X下64位汇编与Linux下64位汇编的一些不同
- RabbitMQ消息队列
- windows server 2012/2016 设置多用户远程桌面(转载)
- PTA——黑洞数
- python摸爬滚打之day06----小数据池、编码解码
热门文章
- fastjson场景
- 查找大文件-清理linux磁盘
- python之路3:文件操作和函数基础
- 提交from表单,method与浏览器请求显示不一致
- tcpdump: error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
- 解决vscode中,powershell中conda activate无效--更改vscode默认的shell为anaconda shell
- 邮件合并 :处理ACCESS中批量查询语句的运行
- 04jsp(1)
- 【广告】UEOI 招聘减章
- Python下使用argparse模块的脚本参数配置