云应用开发之Docker(二)

本文介绍如何使用Docker安装Tomcat、Mysql、Redis等服务,并通过Docker-Compose实现多容器应用程序的部署。包括配置文件编写、端口映射、容器创建与测试等关键步骤。

3.2 基于Docker安装Tomcat

1.创建映射路径

mkdir -p /docker/tomcat/webapp8081

2.创建并运行Tomcat容器

docker run -d --name tomcat8081 -p 8081:8080 -v /docker/tomcat/webapp8081:/usr/local/tomcat/webapps/ tomcat:9.0.33

查看是否安装成功

docker ps

3.开放端口

开放的是8081,云服务器的安全组上

4.访问测试

http://39.105.189.141:8081/

3.3 基于Docker安装Mysql

1.创建并运行容器

docker run -d --name mysql3307 -e MYSQL_ROOT_PASSWORD=zzjava -p 3307:3306 mysql:5.7

docker ps

2.开放端口

开放3307端口

3.访问测试

3.4 基于Docker安装Redis

 

1.创建映射文件夹实现配置文件

mkdir -p /docker/redis/redis6380

上传(拷贝)redis.conf配置文件

2.创建并运行容器

docker run -d --name redis6380 -p 6380:6379 -v /docker/redis/redis6380/redis.conf:/etc/redis/redis.conf redis:6.2.1 redis-server /etc/redis/redis.conf

docker ps3.开放端口

开放端口6380

4.访问测试

四、Docker-Compose

4.1 Docker-Compose

是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。
  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们就可以在隔离环境中一起运行。
  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序。

4.2 Docker-Compose 安装

1.下载

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.授权

sudo chmod +x /usr/local/bin/docker-compose

3.软连接

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

4.测试

docker-compose -version

4.3 基于Docker-Compose 实现Tomcat的创建

1.实现dockerfile文件的编写

vim /usr/local/tomcat.yml

内容如下:严格安装格式要求

version: "3.1"
services:
  tomcat1:  #服务名称,不是容器名,只是在文件中方便观看是按个服务
    restart: always  # 代表只要docker启动, 就会自动启动这个容器  相当于-restart参数
    image: tomcat:9.0.33  #依赖的镜像
    container_name: tomcat8082  # 容器名称  相当于 --name参数
    ports:
    - 8082:8080  #映射端口,可以指定多个,用多个-来写
    environment:
      TZ: Asia/Shanghai  #指定时区
    volumes:
    - /docker/tomcat/webapp8082/:/usr/local/tomcat/webapps   #挂载数据卷
  tomcat2:  #服务名称,不是容器名,只是在文件中方便观看是按个服务
    restart: always  # 代表只要docker启动, 就会自动启动这个容器  相当于-restart参数
    image: tomcat:9.0.33  #依赖的镜像
    container_name: tomcat8083  # 容器名称  相当于 --name参数
    ports:
    - 8083:8080  #映射端口,可以指定多个,用多个-来写
    environment:
      TZ: Asia/Shanghai  #指定时区
    volumes:
    - /docker/tomcat/webapp8083/:/usr/local/tomcat/webapps   #挂载数据卷

 

2.执行文件创建容器

docker-compose -f /usr/local/tomcat.yml up -d

3.验证

docker ps

4.4 Mysql的安装

1.创建文件夹

 

mkdir -p /var/lib/mysql
mkdir -p /etc/mysql
mkdir -p /var/log/mysql

 2.创建Mysql的yml文件

version: '3.1'
services:
    mysql:
        container_name: "mysql3308"
        network_mode: "host"
        environment:
            MYSQL_ROOT_PASSWORD: "123456"
        image: "mysql:5.7"
        restart: always
        ports:
        - 3308:3306
        volumes:
        - "/var/lib/mysql:/home/ubuntu/docker/mysql/db"
        - "/etc/mysql:/home/ubuntu/docker/mysql/conf"
        - "/var/log/mysql:/home/ubuntu/docker/mysql/log"

 

3.执行命令

docker-compose -f /usr/local/mysql.yml up -d

4.开放端口

3308

4.5 Redis的安装

1.创建文件夹

mkdir -p /data/docker-compose/redis/data

上传redis.conf到 /data/docker-compose/redis

2.编写redis.yml文件

version: '3.1'
services:
  redis:
    image: redis:6.2.1
    container_name: redis6381
    restart: always
    ports:
      - 6381:6379
    networks:
      - mynetwork
    volumes:
      - /data/docker-compose/redis/redis.conf:/usr/local/etc/redis/redis.conf:rw
      - /data/docker-compose/redis/data:/data:rw
    command:
      /bin/bash -c "redis-server /usr/local/etc/redis/redis.conf "
networks:
  mynetwork:
    external: true

3.执行命令

docker-compose -f /usr/local/redis.yml up -d

4.开放端口

6381

5.运行测试

4.6 RabbitMQ的安装

1.创建文件夹

mkdir -p /data/rabbitmq-compose/rabbitmq1/log

mkdir -p /data/rabbitmq-compose/rabbitmq2/log

2.编写rabbitmq.yml文件

version: "3.1"
services:
  rabbit01: #节点1主节点 
    image: rabbitmq:management
    ports:  #端口映射
      - "5672:5672"
      - "15672:15672"
    hostname: rabbit01  #这个要记住,后面加入集群的时候会用到
    volumes:
      - /data/rabbitmq-compose/rabbitmq1/log:/var/log/rabbitmq   #挂载日志目录
    environment:    #设置环境变量(配置文件参数),虚拟主机,用户名,密码
      - RABBITMQ_DEFAULT_VHOST=jenkin
      - RABBITMQ_DEFAULT_USER=jenkin
      - RABBITMQ_DEFAULT_PASS=123456
  rabbit02:
    image: rabbitmq:management
    ports:
      - "5673:5672"
      - "15673:15672"
    hostname: "rabbit02"
    links:   #关联主节点的hostname,方便容器内互相访问
      - rabbit01
    volumes:
      - /data/rabbitmq-compose/rabbitmq2/log:/var/log/rabbitmq
    environment:
      RABBITMQ_DEFAULT_VHOST: "jenkin"
      RABBITMQ_DEFAULT_USER: "jenkin"
      RABBITMQ_DEFAULT_PASS: "123456"

3.执行命令

docker-compose -f /usr/local/rabbitmq.yml up -d

4.开放端口

5672、5673、15672、15673

5.测试

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃yumi的羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值