使用Docker(Mac)搭建 Nginx/Openresty - Kafka - kafkaManager

本文详细介绍了如何在Mac上使用Docker安装和配置Nginx、Openresty、Kafka以及Kafka Manager。从下载Docker到启动容器,包括Nginx的反向代理配置、Kafka的Zookeeper检查,以及通过Kafka Manager监控集群。同时,还涵盖了Kafka消息的生产和消费示例。
摘要由CSDN通过智能技术生成

本文默认读者已经对Docker有一定了解,且清楚使用Docker进行部署的优势。

1.安装Docker(Mac)

官网:https://docs.docker.com/docker-for-mac/install/

1.1 下载 Docker for Mac

地址:https://store.docker.com/editions/community/docker-ce-desktop-mac

1.2 下载完成以后,双击打开文件Docker.dmg

image.png

1.3双击Docker.app启动

image.png

Mac顶部状态栏会出现鲸鱼图标
image.png

1.4点击鲸鱼图标可以进行设置

image.png

1.5 Check versions

$ docker --version
Docker version 18.03, build c97c6d6

$ docker-compose --version
docker-compose version 1.21.2, build 8dd22a9

$ docker-machine --version
docker-machine version 0.14.0, build 9ba6da9

1.6 Hello Word

1.6.1 打开命令行终端,通过运行简单的Docker映像测试您的安装工作。

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

1.6.2 启动Dockerized web server

$ docker run -d -p 80:80 --name webserver nginx

1.6.3 打开浏览器,输入http://localhost/

image.png

常用命令:

docker ps 查看正在运行的容器

docker stop停止正在运行的容器

docker start启动容器

docker ps -a查看终止状态的容器

docker rm -f webserver命令来移除正在运行的容器

docker list 列出本地镜像

docker rmi 删除的镜像

2.使用Docker安装Nginx

Docker Store 地址:https://store.docker.com/images/nginx

其实在上文中Hello World即已经安装了nginx。

2.1 拉取 image

docker pull nginx

3.2 创建Nginx容器

docker run --name mynginx -p 80:80  -v /Users/gaoguangchao/Work/opt/local/nginx/logs:/var/log/nginx   -v /Users/gaoguangchao/Work/opt/local/nginx/conf.d:/etc/nginx/conf.d  -v /Users/gaoguangchao/Work/opt/local/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /Users/gaoguangchao/Work/opt/local/nginx/html:/etc/nginx/html  -d nginx

-d 以守护进程运行(运行在后台)
–name nginx  容器名称;
-p 80:80  端口映射
-v 配置挂载路径 宿主机路径:容器内的路径

关于挂载
    1. 为了能直接修改配置文件,以实现对Nginx的定制化,需要进行Docker的相关目录挂在宿主机上。
    1. 需要挂载的目录/文件:/etc/nginx/conf.d /etc/nginx/nginx.conf /etc/nginx/html
    1. 有一点尤其需要注意,当挂载的为文件而非目录时,需要注意以下两点:
      • a. 挂载文件命令: -v 宿主机路径:容器内的路径:ro
      • b.宿主机需要先创建后文件,无法自动创建,反之将报错
nginx.conf 示例
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream demo {

        server 127.0.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值