1、Docker 安装
①安装必要的一些系统工具
输入Linux指令:sudo yum install -y yum-utils
②添加软件源信息
输入Linux指令:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
③安装Docker
输入Linux指令:sudo yum install -y docker-ce docker-ce-cli containerd.io
④创建daemon.json文件
输入Linux指令:sudo vi /etc/docker/daemon.json,内容如下
{ "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"] }
⑤开启Docker服务
输入Linux指令:sudo systemctl start docker
PS:如果需要修改daemon.json,则需要重启守护线程和docker,
命令如下:sudo systemctl daemon-reload
命令如下:sudo systemctl restart docker
⑥设置开机自启:sudo systemctl enable docker
⑦查看是否安装成功
输入Linux指令:sudo docker version 查看是否出现版本号
2、Docker Compose 编排
①下载Docker Compose
curl -SL "https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
②给文件添加权限
输入Linux指令:sudo chmod +x /usr/local/bin/docker-compose
③检查Docker Compose是否安装成功
输入Linux指令:docker-compose -v 查看是否出现版本号
2.1 编辑 Zookeeper 配置文件
①创建docker-compose-zookeeper.yml
输入Linux指令:sudo vi /opt/composetest/docker-compose-zookeeper.yml
version: '3.7' services: zookeeper: image: zookeeper ports: - "2181:2181"
2.2 编辑 Kafka 配置文件
①在宿主机创建个挂载目录
输入Linux指令:sudo mkdir /usr/local/kafka
②创建docker-compose-kafka.yml
输入Linux指令:sudo vi /opt/composetest/docker-compose-kafka.yml
version: '3.7' services: zookeeper: image: zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092:9092" depends_on: - zookeeper environment: KAFKA_ADVERTISED_HOST_NAME: 192.168.30.201 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: # :前面没有的目录需要自己手动创建 - /etc/hosts:/etc/hosts - /var/run/docker.sock:/var/run/docker.sock - /opt/docker/kafka/data:/kafka - /opt/docker/kafka/log:/opt/kafka/logs kafka-manager: image: sheepkiller/kafka-manager ports: - 9999:9000 environment: ZK_HOSTS: zookeeper:2181
2.2 编辑MySQL 配置文件
①在宿主机创建个挂载目录
输入Linux指令:sudo mkdir /usr/local/mysql
②创建docker-compose-mysql.yml
输入Linux指令:sudo vi /opt/composetest/docker-compose-mysql.yml
version: '3.7'
services:
mysql:
# 本次是5.7版本没有窗口函数,后面可以跟换8以上支持窗口函数
image: mysql:5.7
container_name: mysql
privileged: true #一定要设置为true,不然数据卷可能挂载不了,启动不起
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root # 自己配置数据库密码
TZ: Asia/Shanghai
MYSQL_USER: root
MYSQL_PASS: root
MYSQL_ROOT_HOST=%
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
volumes:
- /home/opt/docker-v/mysql/data:/var/lib/mysql
# volumes只能挂载文件夹,下面的命令可以挂载文件
- type: bind
source: /home/opt/docker-v/mysql/config/my.cnf #这个是宿主机的地址
target: /etc/my.cnf #这个是容器里配置文件的地址
设置远程连接登录,在MySQL命令端中输入:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
③开启防火墙
前提需要开启防火墙
输入Linux指令:sudo systemctl start firewalld
输入Linux指令:sudo firewall-cmd --zone=public --add-port=9092/tcp --add-port=2181/tcp --add-port=9999/tcp --permanent
④重启防火墙
输入Linux指令:sudo systemctl restart firewalld
⑤重启Dokcer服务
输入Linux指令:sudo systemctl restart docker
⑥启动Kafka容器
输入Linux指令:sudo docker-compose -f /opt/composetest/docker-compose-kafka.yml up -d
PS:如果root用户下提示sudo: docker-compose: command not found,则
输入Linux指令:docker-compose -f /opt/composetest/docker-compose-kafka.yml up -d 即可
⑦测试Kafka Manager管理界面
访问管理页面:http://ip:9999 查看是否启动成功
3、安装Docker Portainer 容器
①安装Portainer容器
输入Linux指令:sudo docker pull docker.io/portainer/portainer
②运行Portainer容器
docker run -d -p 8084:9000 --restart=always --name portainer -v /var/run/docker.sock:/var/run/docker.sock docker.io/portainer/portainer
③测试Portainer容器管理界面
访问管理页面:http://ip:8084 查看是否启动成功
PS:使用docker-kafka需要修改kafka的config下的server.properties
新增或者修改
advertised.listeners=PLAINTEXT://Kafka的ip:9092
advertised.host.name=0.0.0.0
Docker容器扩展:
列出所有的容器 ID
docker ps -aq
停止所有的容器
sudo docker stop $(docker ps -aq)
删除所有的容器
sudo docker rm $(docker ps -aq)
删除所有的镜像
sudo docker rmi $(docker images -q)
如果提示没有权限在指令前面加个sudo
致语:Docker、dOcker、doCker、dockEr、dockeR、docKer