详细提供一下上述部署步骤
时间: 2023-08-17 21:38:24 浏览: 49
好的,下面是详细的部署步骤:
1. 创建一个名为canal-rabbitmq的文件夹,用于存放docker-compose.yml文件和其他相关文件。
2. 在canal-rabbitmq文件夹内创建一个名为docker-compose.yml的文件,并复制上述示例文件的内容到该文件中。
3. 在canal-rabbitmq文件夹内创建一个名为init.sql的文件,并复制以下内容到该文件中:
```
CREATE TABLE test_table (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO test_table (name) VALUES ('test_data');
```
该文件用于在MySQL容器启动时创建一个名为test_table的表,并插入一条数据。
4. 在canal-rabbitmq文件夹内创建一个名为consumer.py的文件,并复制以下内容到该文件中:
```python
import pika
QUEUE_NAME = 'test_queue'
EXCHANGE_NAME = 'test_exchange'
def callback(ch, method, properties, body):
print(f'Received message: {body}')
connection = pika.BlockingConnection(pika.ConnectionParameters(host='mq'))
channel = connection.channel()
channel.exchange_declare(exchange=EXCHANGE_NAME, exchange_type='fanout')
result = channel.queue_declare(queue=QUEUE_NAME, durable=True)
queue_name = result.method.queue
channel.queue_bind(exchange=EXCHANGE_NAME, queue=queue_name)
channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)
print('Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
```
该文件是一个简单的Python程序,用于实现RabbitMQ的消费者功能。该消费者程序会从名为test_queue的队列中接收消息,并打印出来。
5. 打开终端,进入canal-rabbitmq文件夹,并执行以下命令启动容器:
```
docker-compose up -d
```
该命令会在后台启动所有定义在docker-compose.yml文件中的服务。
6. 启动容器后,可以通过以下命令查看所有容器的运行状态:
```
docker-compose ps
```
该命令会输出所有容器的状态信息。
7. 等待一段时间后,可以通过以下命令查看MySQL容器内部的test数据库中的test_table表是否已经创建成功并插入了一条数据:
```
docker-compose exec mysql mysql -uroot -proot -e "SELECT * FROM test.test_table"
```
该命令会输出test_table表中的所有数据。
8. 最后,可以通过以下命令查看rabbitmq-consumer容器的日志,确认是否已经成功接收到MySQL同步到RabbitMQ的数据:
```
docker-compose logs -f rabbitmq-consumer
```
该命令会输出rabbitmq-consumer容器的日志信息,包括接收到的消息。按下CTRL+C键可以退出日志查看。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)