Docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像方法

使用 Docker 快速部署 Nginx、Redis、MySQL、Tomcat 以及制作镜像

通过 Docker,开发者可以快速部署和管理各种服务。本文介绍如何快速使用 Docker 部署 NginxRedisMySQLTomcat,以及如何制作自定义镜像。

1. Docker 基础准备

安装 Docker

如果还未安装 Docker,可按照以下步骤安装:

  • Linux (Ubuntu)
sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

验证 Docker 安装

运行以下命令检查安装:

docker --version

2. 部署 Nginx

步骤 1:拉取 Nginx 镜像

docker pull nginx

步骤 2:运行容器

docker run -d --name nginx-container -p 8080:80 nginx
  • -d:后台运行容器。
  • --name:容器名称。
  • -p:将本地 8080 端口映射到容器内的 80 端口。

步骤 3:验证 Nginx 服务

访问 http://localhost:8080,可以看到 Nginx 默认页面。

绑定自定义配置

将自定义 Nginx 配置文件绑定到容器:

docker run -d --name nginx-container -p 8080:80 -v /path/to/nginx.conf:/etc/nginx/nginx.conf nginx

3. 部署 Redis

步骤 1:拉取 Redis 镜像

docker pull redis

步骤 2:运行容器

docker run -d --name redis-container -p 6379:6379 redis

步骤 3:验证 Redis

进入 Redis 容器并使用 CLI:

docker exec -it redis-container redis-cli
ping

返回 PONG 表示运行正常。

绑定配置文件

绑定 Redis 配置文件:

docker run -d --name redis-container -p 6379:6379 -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf

4. 部署 MySQL

步骤 1:拉取 MySQL 镜像

docker pull mysql:latest

步骤 2:运行容器

docker run -d --name mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yourpassword mysql
  • -e:设置环境变量(如 MySQL 的 root 密码)。

步骤 3:验证 MySQL

进入容器并登录 MySQL:

docker exec -it mysql-container mysql -u root -p

绑定数据卷

绑定本地数据目录以持久化数据:

docker run -d --name mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yourpassword -v /path/to/mysql-data:/var/lib/mysql mysql

5. 部署 Tomcat

步骤 1:拉取 Tomcat 镜像

docker pull tomcat:latest

步骤 2:运行容器

docker run -d --name tomcat-container -p 8080:8080 tomcat

步骤 3:访问 Tomcat

访问 http://localhost:8080,可以看到 Tomcat 的默认页面。

绑定自定义 Web 应用

绑定本地 WAR 文件:

docker run -d --name tomcat-container -p 8080:8080 -v /path/to/app.war:/usr/local/tomcat/webapps/app.war tomcat

6. 制作自定义 Docker 镜像

步骤 1:创建 Dockerfile

以创建自定义 Nginx 镜像为例,创建一个名为 Dockerfile 的文件:

# 基础镜像
FROM nginx:latest

# 复制本地配置文件到容器
COPY ./nginx.conf /etc/nginx/nginx.conf

# 暴露端口
EXPOSE 80

步骤 2:构建镜像

docker build -t custom-nginx .
  • -t:指定镜像名称。

步骤 3:运行自定义镜像

docker run -d --name custom-nginx-container -p 8080:80 custom-nginx

7. Docker Compose 快速部署

为了同时管理多个服务(如 Nginx、Redis、MySQL 和 Tomcat),可以使用 Docker Compose。

步骤 1:创建 docker-compose.yml 文件

version: '3.8'

services:
  nginx:
    image: nginx
    ports:
      - "8080:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf

  redis:
    image: redis
    ports:
      - "6379:6379"

  mysql:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
    ports:
      - "3306:3306"
    volumes:
      - ./mysql-data:/var/lib/mysql

  tomcat:
    image: tomcat
    ports:
      - "8081:8080"
    volumes:
      - ./app.war:/usr/local/tomcat/webapps/app.war

步骤 2:启动所有服务

docker-compose up -d

步骤 3:验证服务

  • Nginx: http://localhost:8080
  • Redis: 通过 Redis CLI 验证。
  • MySQL: 连接到 localhost:3306
  • Tomcat: http://localhost:8081

8. 总结

  • 快速部署单个服务:通过 docker run 命令可以快速部署各服务。
  • 数据持久化:通过绑定本地数据卷确保数据不会因容器重启而丢失。
  • 制作镜像:使用 Dockerfile 制作自定义镜像,满足特定需求。
  • Docker Compose 管理多个服务:编写 docker-compose.yml 文件轻松部署和管理复杂应用。

通过以上方式,你可以快速部署和管理所需的服务,并使用 Docker 提高开发效率和环境一致性。

发布者:myrgd,转载请注明出处:https://www.object-c.cn/4563

Like (1)
Previous 2024年11月25日 下午8:32
Next 2024年11月26日 上午10:57

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信