docker及部署服务
1. docker 安装
curl -sSL https://get.daocloud.io/docker | sh
2. 启动docker
sudo systemctl start docker
3. redis
docker run --name redis -d -p 6379:6379 -v /etc/redis/conf/redis.conf:/etc/redis/redis.conf -v /etc/redis/data:/data redis redis-server /etc/redis/redis.conf --appendonly yes
docker exec -it redis /bin/bash 默认进入data文件夹
docker exec -it redis redis-cli
重启redis
docker restart redis
设置redis跟随docker启动
docker update redis --restart=always
4. mysql
docker run --name mysql -d -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD= 密码 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
进入控制台
docker exec -it c6c8e8e7940f /bin/bash
登录
mysql -u root -p123456
查询用户
select host,user,plugin,authentication_string from mysql.user;
更新密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'
创建canal用户
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
5. canal
canal-admin
docker pull canal/canal-admin
canal-server
docker pull canal/canal-server
下载指定脚本组装docker命令来启动
wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run_admin.sh
sudo sh run_admin.sh -e server.port=8089 \
-e canal.adminUser=admin \
-e canal.adminPasswd=canal@619 \
-e spring.datasource.address=120.77.64.190:3306 \
-e spring.datasource.database=erp-user \
-e spring.datasource.username=root \
-e spring.datasource.password=canal@619
或者 直接docker 命令 启动
sudo docker run -it --name canal-admin \
-e server.port=8089 \
-e canal.adminUser=admin \
-e canal.adminPasswd=canal@619 \
-e spring.datasource.address=120.77.XX.XX:3306 \
-e spring.datasource.database=db \
-e spring.datasource.username=canal \
-e spring.datasource.password=canal@619 \
-h 120.77.64.190 \
--net=host \
-m 1024m \
-d canal/canal-admin:v1.1.5
下载脚本 组装docker命令来启动
wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run.sh
sudo sh run.sh -e canal.admin.manager=127.0.0.1:8089 \
-e canal.admin.port=11110 \
-e canal.port=11121 \
-e canal.metrics.pull.port=11122 \
-e canal.admin.user=admin \
-e canal.admin.passwd=6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
或者直接docker命令启动
docker run -it --name=canal-server \
-e canal.admin.manager=172.21.XX.XX:8089 \
-e canal.admin.port=11110 \
-e canal.port=11121 \
-e canal.metrics.pull.port=11122 \
-e canal.admin.user=admin \
-e canal.admin.passwd=6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 \
-h 172.21.137.55 \
--net=host \
-d canal/canal-server:v1.1.4
6. nacos
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/soft/nacos/logs/:/home/nacos/logs/ \
-v /home/soft/nacos/data/:/home/nacos/data/ \
-v /home/soft/nacos/conf/application.properties:/home/nacos/conf/application.properties \
nacos/nacos-server
7. neo4j
docker run -d --name container_name \ //-d表示容器后台运行 --name指定容器名字
-p 7474:7474 -p 7687:7687 \ //映射容器的端口号到宿主机的端口号
-v /home/neo4j/data:/data \ //把容器内的数据目录挂载到宿主机的对应目录下
-v /home/neo4j/logs:/logs \ //挂载日志目录
-v /home/neo4j/conf:/var/lib/neo4j/conf //挂载配置目录
-v /home/neo4j/import:/var/lib/neo4j/import \ //挂载数据导入目录
--env NEO4J_AUTH=neo4j/password \ //设定数据库的名字的访问密码
neo4j //指定使用的镜像
docker run -d --name neo4j -p 7474:7474 -p 7687:7687 -v /home/neo4j/data:/data -v /home/neo4j/logs:/logs -v /home/neo4j/conf:/var/lib/neo4j/conf -v /home/neo4j/import:/var/lib/neo4j/import --env NEO4J_AUTH=none neo4j
8. docker 部署服务
登录远程仓库
docker login 远程仓库地址
打包
docker build -t xxx:latest -f Dockfile .
标记本地镜像,将其归入某一仓库
docker tag imageID 远程仓库/yunhe/xxx:latest
推送到远程仓库
docker push 远程仓库/yunhe/xxx:latest
9.Docker安装Kafka
首先创建一个网络
app-tier:网络名称
–driver:网络类型为bridge
docker network create app-tier --driver bridge
1、安装zookeeper
Kafka依赖zookeeper所以先安装zookeeper
-p:设置映射端口(默认2181)
-d:后台启动
docker run -d --name zookeeper-server \
--network app-tier \
-e ALLOW_ANONYMOUS_LOGIN=yes \
bitnami/zookeeper:latest
查看zookeeper容器日志(可省略)
docker logs -f zookeeper
2、安装Kafka
安装并运行Kafka, –name:容器名称
-p:设置映射端口(默认9092 )
-d:后台启动 ALLOW_PLAINTEXT_LISTENER任何人可以访问 KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
KAFKA_ADVERTISED_HOST_NAME当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.101:9092 \
docker run -d --name kafka-server \
--network app-tier \
-p 9092:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.101:9092 \
bitnami/kafka:latest
查看kafka容器日志(可省略)
docker logs -f kafka
3、kafka-manager图形化管理工具(不好用)
kafka-manager 只是一个简单的页面,浏览kafka中的信息,没有实际操作功能。
-p:设置映射端口(默认9000) –name:容器名称
-ZK_HOSTS:zookeeper服务地址,多个可用逗号隔开
3、kafka-map图形化管理工具(好用)
图形化管理工具 访问地址:http://服务器IP:9001/ DEFAULT_USERNAME:默认账号admin
DEFAULT_PASSWORD:默认密码adminGit
地址:https://github.com/dushixiang/kafka-map/blob/master/README-zh_CN.md
docker run -d --name kafka-map \
--network app-tier \
-p 9001:8080 \
-v /opt/kafka-map/data:/usr/local/kafka-map/data \
-e DEFAULT_USERNAME=admin \
-e DEFAULT_PASSWORD=admin \
--restart always dushixiang/kafka-map:latest