Docker中容器间的通信方式有哪些?
1.通过容器ip访问
容器重启后,ip会发生变化。所以通过容器ip访问不是一个好的方案。
2.通过宿主机的ip:port访问
通过宿主机的ip:port访问,只能依靠监听暴露出的端口的进程来进行有限的通信。
3.通过link建立连接(官方不推荐使用)
4.通过Docker桥接网络实现容器间相互访问(推荐)
第1/2种方式比较简单,在此主要讲述下第3/4种方式。
通过link建立连接
Docker中容器间的通信方式有哪些?
1.通过容器ip访问
容器重启后,ip会发生变化。所以通过容器ip访问不是一个好的方案。
2.通过宿主机的ip:port访问
通过宿主机的ip:port访问,只能依靠监听暴露出的端口的进程来进行有限的通信。
3.通过link建立连接(官方不推荐使用)
4.通过Docker桥接网络实现容器间相互访问(推荐)
第1/2种方式比较简单,在此主要讲述下第3/4种方式。
通过link建立连接
MySQL数据库全量备份shell(Linux版)脚本,备份核心逻辑:
crontab配置如下:
0 2 * * * root /home/backup_mysql.sh 2>&1 | tee -a /opt/backup/mysql/mysql_backup.log
详细脚本如下:
MySQL数据库全量备份bat(Windows)脚本,备份核心逻辑:
创建Windows计划任务核心命令如下:
schtasks /create /F /tn %taskName% /tr %cd%\bin\mysql_backup.bat /sc daily /st 18:00
详细脚本如下:
ActiveMQ
Apache下的一个子项目。使用Java完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,少量代码就可以高效地实现高级应用场景。可插拔的传输协议支持,比如:in-VM, TCP, SSL, NIO, UDP, multicast, JGroups and JXTA transports。RabbitMQ、ZeroMQ、ActiveMQ均支持常用的多种语言客户端 C++、Java、.Net,、Python、 Php、 Ruby等。
Kafka
Apache下的一个子项目,使用scala实现的一个高性能分布式Publish/Subscribe消息队列系统,具有以下特性:
MySQL中自增ID起始值修改方法
表名:users;
建表时添加:
create table users(id int auto_increment primary key,666);
表已创建,修改:
alter table users add id int auto_increment primary key; #将自增字段设置为primary key
alter table users AUTO_INCREMENT=10000;
MySQL数据库新建用户命令:
create user '用户'@'访问IP' identified by '密码';
例如,创建test用户,允许所有IP访问:
create user 'test'@'%' identified by '123456' with grant option;