返回介绍

6 镜像实例

发布于 2024-09-08 18:53:00 字数 3759 浏览 0 评论 0 收藏 0

Docker 镜像是容器的构建蓝图,包含了运行应用所需的所有内容,如代码、运行时、库和环境变量。以下是一些 Docker 镜像的实例和如何使用它们的示例。

常见 Docker 镜像实例

1. Nginx

Nginx 是一个高性能的 HTTP 和反向代理服务器。

  • 镜像名称nginx
  • 拉取镜像
    docker pull nginx
    
  • 运行容器
    docker run -d -p 80:80 nginx
    
    这会启动一个 Nginx 容器,并将主机的 80 端口映射到容器的 80 端口。

2. Alpine

Alpine 是一个小巧的 Linux 发行版,通常用作其他 Docker 镜像的基础镜像。

  • 镜像名称alpine
  • 拉取镜像
    docker pull alpine
    
  • 运行容器
    docker run -it alpine sh
    
    这会启动一个 Alpine 容器,并打开一个交互式的 shell。

3. Ubuntu

Ubuntu 是一个流行的 Linux 发行版,用于开发和测试环境。

  • 镜像名称ubuntu
  • 拉取镜像
    docker pull ubuntu
    
  • 运行容器
    docker run -it ubuntu bash
    
    这会启动一个 Ubuntu 容器,并打开一个交互式的 bash shell。

4. Node.js

Node.js 镜像用于运行 Node.js 应用程序。

  • 镜像名称node
  • 拉取镜像
    docker pull node
    
  • 运行容器
    docker run -it -v $(pwd):/usr/src/app -w /usr/src/app node npm start
    
    这会启动一个 Node.js 容器,挂载当前目录,并执行 npm start

5. MySQL

MySQL 是一个流行的关系数据库管理系统。

  • 镜像名称mysql
  • 拉取镜像
    docker pull mysql
    
  • 运行容器
    docker run -d -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 mysql
    
    这会启动一个 MySQL 容器,设置 root 密码,并将主机的 3306 端口映射到容器的 3306 端口。

6. PostgreSQL

PostgreSQL 是一个开源的关系数据库系统。

  • 镜像名称postgres
  • 拉取镜像
    docker pull postgres
    
  • 运行容器
    docker run -d -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 postgres
    
    这会启动一个 PostgreSQL 容器,设置密码,并将主机的 5432 端口映射到容器的 5432 端口。

7. Redis

Redis 是一个开源的内存数据结构存储系统。

  • 镜像名称redis
  • 拉取镜像
    docker pull redis
    
  • 运行容器
    docker run -d -p 6379:6379 redis
    
    这会启动一个 Redis 容器,并将主机的 6379 端口映射到容器的 6379 端口。

创建自定义 Docker 镜像

你可以根据自己的需求创建自定义 Docker 镜像。以下是一个简单的示例:

Dockerfile 示例

# 使用基础镜像
FROM ubuntu:20.04

# 安装软件
RUN apt-get update && apt-get install -y \
    curl \
    vim

# 添加应用代码
COPY . /app

# 设置工作目录
WORKDIR /app

# 设置容器启动命令
CMD ["bash"]

构建和运行自定义镜像

  1. 构建镜像

    docker build -t my-custom-image .
    
  2. 运行容器

    docker run -it my-custom-image
    

总结

Docker 镜像是构建和运行容器的基础,提供了应用程序运行所需的环境。通过使用现成的镜像或创建自定义镜像,你可以灵活地部署和管理各种应用程序和服务。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文