Docker

1、安装

  1. 卸载:sudo yum remove docker \ docker-client \ docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \ocker-engine
  2. 安装:yum install -y docker
  3. 查看是否安装成功:yum list installed |grep docker
  4. 启动docker服务:systemctl start docker.service
  5. systemctl enable docker.service
  6. 查看docker状态:systemctl status docker
  7. 配置docker国内镜像:
  8. 在宿主机器编辑文件:vim /etc/docker/daemon.json
  9. 请在该配置文件中加入(没有该文件的话,请先建一个):
  10. {
  11. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
  12. }
  13. 重启docker服务:systemctl restart docker.service

2、docker安装redis

拉取redis镜像:docker pull redis

查看本地镜像:docker images

运行容器:docker run -itd --name redis-test -p 6379:6379 redis

查看运行情况:docker ps

连接测试使用redis服务:docker exec -it redis-test /bin/bash

退出:exit

3、docker安装jdk

拉取centos镜像:docker pull centos  #版本号可以自己加,默认拉取最新的

查看本地镜像:docker images

创建容器:
容器是基于镜像创建的,执行镜像生成容器,方可进入容器
启动容器命令: docker run <相关参数> <镜像 ID> <初始命令>
docker run -i -t -v /opt/software/:/mnt/software/ 5d0da3dc9764 /bin/bash
参数解析
  -i:表示以“交互模式”运行容器
  -t:表示容器启动后会进入其命令行
  -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
  /bin/bash:一旦容器启动,需要执行的命令,当前使用 "/bin/bash", 表示启动后直接进bash shell

  /root/software是宿主机器(Linux)上创建的一个文件夹;

  /mnt/software是centos的容器里面的目录文件

  这里挂载的意思就是 9f38484d220f 创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /root/software/下的文件,且两者文件夹里内容相同

启动容器和进入容器:
docker start [容器ID]:启动容器
docker exec -it [容器ID] /bin/bash : 进入容器
这里还是以 docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 命令进入容器

进入容器后的查看命令:
docker ps : 查看当前运行的容器信息(上面的退出方式就会默认关闭容器)
docker ps -a : 查看关闭的容器

进入centos容器中的、mnt/software文件夹

docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash  进入容器
cd /mnt/software  进入/mnt/software 

解压:tar -zxvf jdk-8u211-linux-x64.tar.gz

设置profile:
vi /etc/profile

4、停止和删除容器

docker stop  容器id 停止容器

docker rm 容器id  删除容器

docker rmi -f 镜像id  删除镜像

docker run -it 容器image /bin/bash 启动容器

5、docker安装datart

1、docker run -p 8080:8080 datart/datart

2、配置外部数据库:
在宿主机上创建datart.conf配置文件

vim /opt/software/datart/datart.conf

# 数据库连接配置
datasource.ip=hadoop101
datasource.port=3306
datasource.database=datart
datasource.username=root
datasource.password=123456

# server
server.port=8080
server.address=0.0.0.0

# datart config
datart.address=http://127.0.0.1
datart.send-mail=false
datart.webdriver-path=http://127.0.0.1:4444/wd/hub


启动:
docker run --name datart -v /opt/software/datart/datart.conf:/datart/config/datart.conf -v /opt/software/datart/files:/datart/files -p 8080:8080 datart/datart

6、获取容器IP地址

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

7、查看容器日志

docker logs --since 30m 容器ID

8、安装mysql

1、docker pull mysql:8.0.26

2、创建挂载文件:mkdir -p mysql && cd $_ && mkdir {conf,data}

3、创建配置文件:vim my.cnf
# 在mysqld 中配置binlog,并设置为ROW模式,设置server_id。必须配置server_id以及binlog格式为Row

[mysqld]
server_id=1
log-bin=master
binlog_format=row

4、创建容器:
docker run -d --name mysql -p 3306:3306 -v /opt/software/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/software/mysql/data:/var/lib/mysql -v /opt/software/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.26

9、容器的重启策略

Docker容器的重启策略如下:

no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

10、容器安装datax

tar -czvf test.tar.gz a.c //压缩文件,把源文件a.c 压缩为 test.tar.gz

11、安装docker-compose后安装cloudcanal



curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

验证:进入cloudcanal文件夹内部执行:docker-compose,否则找不到:Supported filenames: docker-compose.yml, docker-compose.yaml

解压cloudcanal.7z

7z x cloudcanal.7z

启动 sh startup.sh

其他:
使用教程(必读)
为了方便您一开始快速体验 CloudCanal ,我们已自动帮您做好了一些初始化的工作
请务必使用提供的默认账号登入,方便您快速体验
用户名:test@clougence.com
密码:clougence2021
默认添加的测试 MySQL 数据库
cloudcanal_test_a(源端)和cloudcanal_test_b(目标端)这两个库中已准备用于测试的表和数据
默认已添加了一台运行机器,用于执行具体的数据同步任务
如遇到需要发送短信的场景,先点击获取验证码,然后输入短信验证码 777777 即可
FAQ
我怎么访问 CloudCanal 元数据库?
在 docker 宿主机上执行执行命令 mysql -uclougence -h127.0.0.1 -P25000 -p123456 登录
CloudCanal 元数据库名称为 cloudcana_console
我怎么查看相关日志?
CloudCanal docker 版的日志路径在压缩包解压路径下。
console日志: ${安装包解压路径}/console_data/logs/cloudcanal/console/console.log
sidecar日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/sidecar/sidecar.log
tasks日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/tasks/xxx.log
使用教程(必读)
为了方便您一开始快速体验 CloudCanal ,我们已自动帮您做好了一些初始化的工作
请务必使用提供的默认账号登入,方便您快速体验
用户名:test@clougence.com
密码:clougence2021
默认添加的测试 MySQL 数据库
cloudcanal_test_a(源端)和cloudcanal_test_b(目标端)这两个库中已准备用于测试的表和数据
默认已添加了一台运行机器,用于执行具体的数据同步任务
如遇到需要发送短信的场景,先点击获取验证码,然后输入短信验证码 777777 即可
FAQ
我怎么访问 CloudCanal 元数据库?
在 docker 宿主机上执行执行命令 mysql -uclougence -h127.0.0.1 -P25000 -p123456 登录
CloudCanal 元数据库名称为 cloudcana_console
我怎么查看相关日志?
CloudCanal docker 版的日志路径在压缩包解压路径下。
console日志: ${安装包解压路径}/console_data/logs/cloudcanal/console/console.log
sidecar日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/sidecar/sidecar.log
tasks日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/tasks/xxx.log


CloudCanal 管控MySQL访问:mysql -uclougence -P25000 -p123456



cloudcanal.auth.ak=ak7kl8w3mbo0e370vvin941f0iy2xl4084i87955221xr50cr468ge353h9h441
cloudcanal.auth.sk=sk044nl650z1d4fgta0l5p5tad3ag91flp3w8954093pd411o48h9p2z1f23gmq
cloudcanal.sidecar.wsn=wsnm7s2761r1zh1jcgj4b9v0uxn0lw773k2hj571z4xz09zi7qd11rmi6w9z9dfv
cloudcanal.console.domain=39.107.208.255


cloudcanal.auth.ak=akg808lcbc7von4m1sel88e3d35ki315gm6lju2z5lx48zq6k10r700zqtn894i
cloudcanal.auth.sk=sk32ef5y2bn56l24ou418hty2dvyf8hw5s183ua707nqk221t657t0t4y22k0f1
cloudcanal.sidecar.wsn=wsna108413iz5k8ox8r2xopfn9o8u4irnd596rer1yq2314ek4h43grp4se33l11
cloudcanal.console.domain=8.130.12.163


    yum list telnet*              列出telnet相关的安装包
    yum install telnet-server          安装telnet服务
    yum install telnet.*           安装telnet客户端

telnet 39.107.208.255 7007


 ## 查看容器id
 docker ps | grep cloudcanal-sidecar

 ## 进入容器
 docker exec -it ${CONTAINER_ID} /bin/bash

 ## 修改配置文件
 vi /home/clougence/cloudcanal/global_conf/conf.properties

 将控制台**机器唯一识别配置信息**完整复制到配置文件中,替换已存在的内容

 替换 cloudcanal.console.domain 的值为 console 容器所在宿主机 ip


docker exec -it ${CONTAINER_ID} /bin/bash
telnet ${console容器所在宿主机ip} 7007


chown -R clougence.clougence cloudcanal
## 切换为clougence用户
su - clougence
## 启动sidecar
sh /home/clougence/cloudcanal/sidecar/bin/startSidecar.sh
## 查看日志,确认是否有异常。如果都为INFO或者WARN日志就是正常的
tail -f /home/clougence/logs/cloudcanal/sidecar/sidecar.log

12、系统默认的ulimit对文件打开数量的限制是1024

# vim /etc/security/limits.conf  //加入以下配置,重启即可生效
* hard nofile 102400
* soft nofile 102400

13、安装7z

 查看linux版本:
 lsb_release -a

 # 安装7z命令(centos系)
 yum -y install epel-release
 sudo yum install p7zip p7zip-plugins

14、硬盘扩容

https://help.aliyun.com/document_detail/113316.html?spm=5176.smartservice_service_robot_chat_new.help.dexternal.72823cdaJn3geC

15、安装dolphinscheduler

1、下载安装包:https://dolphinscheduler.apache.org/zh-cn/download/download.html

2、上传解压:tar -zxvf apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src.tar.gz

3、进入安装目录:cd apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src/deploy/docker

4、初始化数据库结构:docker-compose --profile schema up -d

5、启动服务:docker-compose --profile all up -d

说明:通过 docker-compose 启动服务时,除了会启动 DolphinScheduler 对应的服务外,还会启动必要依赖服务,如数据库 PostgreSQL(用户 root, 密码 root, 数据库 dolphinscheduler) 和 服务发现 ZooKeeper。

6、登录:http://宿主机ip:12345/dolphinscheduler/ui  admin / dolphinscheduler123

7、挂载配置文件目录:
    进入api容器内查看conf目录docker exec -it b7eab73d37a8 /bin/bash pwd /opt/dolphinscheduler/conf  
    停止api容器:docker stop b7eab73d37a8;
    挂载文件:docker start -v /opt/module/dolphinscheduler/dolphinscheduler/conf:/opt/dolphinscheduler/conf b7eab73d37a8