当前位置:  首页>> 技术小册>> 云计算那些事儿:从IaaS到PaaS进阶(三)

7.7.3 Docker在MAC上的部署

在云计算的广阔天地中,Docker作为容器化技术的领军者,极大地简化了应用的开发、部署与运维流程。对于Mac用户而言,虽然Mac OS基于Unix内核但与Linux系统存在显著差异,但通过一系列工具和平台,我们依然可以高效地在Mac上部署Docker环境,进而利用Docker的强大功能。本章将详细介绍如何在Mac上安装Docker,配置Docker环境,以及进行基本的Docker操作。

7.7.3.1 Docker Desktop for Mac简介

Docker Desktop for Mac是Docker官方为Mac用户提供的桌面应用,它封装了Docker Engine、Docker CLI客户端、Docker Compose、Docker Machine(可选安装)、Kubernetes(可选安装)等核心组件,为用户提供了一个集成化、易于使用的Docker开发环境。通过Docker Desktop for Mac,用户可以在Mac上无缝地运行和管理Docker容器,无需担心底层操作系统的差异。

7.7.3.2 安装Docker Desktop for Mac

1. 下载Docker Desktop for Mac

访问Docker官方网站(https://www.docker.com/products/docker-desktop),根据页面指引选择“Mac”版本进行下载。下载完成后,双击.dmg安装包启动安装程序。

2. 安装过程
  • 双击.dmg文件后,会弹出安装窗口,将Docker图标拖拽到“Applications”文件夹中完成安装。
  • 安装完成后,系统会提示是否将Docker Desktop添加到登录项,建议选择“是”,以便每次开机时自动启动Docker Desktop。
  • 首次启动Docker Desktop时,可能需要用户授权安装辅助软件,如hyperkit,这是Docker Desktop在Mac上运行Linux容器所必需的虚拟化技术。
3. 验证安装

安装完成后,打开“Launchpad”找到Docker Desktop图标并点击启动。在Mac的终端(Terminal)中输入以下命令来验证Docker是否成功安装并运行:

  1. docker --version

如果命令返回了Docker的版本号,说明Docker已成功安装并可以在你的Mac上运行了。

7.7.3.3 配置Docker Desktop for Mac

Docker Desktop for Mac提供了丰富的配置选项,允许用户根据需求调整资源分配、网络设置等。以下是一些常用的配置方法:

1. 资源分配

在Docker Desktop的偏好设置中,用户可以调整分配给Docker的内存和CPU资源。这对于运行资源密集型容器或同时运行多个容器时尤为重要。

2. 网络设置

Docker Desktop为容器提供了一个默认的桥接网络(bridge network),允许容器间相互通信。此外,用户还可以配置Docker以使用Mac的VPN或代理设置,确保容器能够访问外部网络。

3. Docker Engine配置

对于需要更高级配置的用户,Docker Desktop允许直接编辑Docker Engine的配置文件(daemon.json)。通过修改此文件,用户可以调整日志驱动、镜像存储位置等高级设置。

7.7.3.4 使用Docker命令行

一旦Docker Desktop安装并配置完成,你就可以开始在Mac上使用Docker命令行进行容器的创建、运行、管理等操作了。以下是一些基本的Docker命令示例:

1. 拉取镜像
  1. docker pull ubuntu:latest

该命令会从Docker Hub上拉取最新版本的Ubuntu镜像。

2. 运行容器
  1. docker run -it ubuntu:latest /bin/bash

该命令会基于ubuntu:latest镜像启动一个容器,并运行/bin/bash,提供一个交互式shell环境。

3. 查看容器
  1. docker ps

列出当前正在运行的容器。

  1. docker ps -a

列出所有容器(包括未运行的)。

4. 停止与删除容器
  1. docker stop [CONTAINER_ID_OR_NAME]

停止指定ID或名称的容器。

  1. docker rm [CONTAINER_ID_OR_NAME]

删除已停止的容器。

5. 构建与推送镜像

对于开发自定义应用而言,构建并推送自己的Docker镜像到Docker Hub或其他容器镜像仓库是常见需求。这通常涉及到编写Dockerfile,使用docker build命令构建镜像,以及使用docker push命令推送镜像到远程仓库。

7.7.3.5 实战:在Mac上部署一个简单的Web应用

为了加深理解,我们将通过一个实战示例来演示如何在Mac上使用Docker部署一个简单的Web应用。

步骤一:编写Dockerfile

首先,在你的Mac上创建一个包含Web应用代码的目录,并编写一个Dockerfile来定义如何构建你的Web应用镜像。

  1. # 使用官方Python运行时作为父镜像
  2. FROM python:3.8-slim
  3. # 设置工作目录
  4. WORKDIR /app
  5. # 将当前目录下的文件复制到位于/app中的容器中
  6. COPY . /app
  7. # 使用pip命令安装依赖
  8. RUN pip install --no-cache-dir -r requirements.txt
  9. # 容器启动时执行的命令
  10. CMD ["python", "./app.py"]
步骤二:构建并运行容器

在包含Dockerfile的目录下,执行以下命令来构建镜像并运行容器:

  1. docker build -t my-web-app .
  2. docker run -d -p 4000:5000 my-web-app

这里,-d参数让容器在后台运行,-p 4000:5000将容器的5000端口映射到Mac的4000端口上。

步骤三:访问Web应用

打开浏览器,访问http://localhost:4000,你应该能看到你的Web应用正在运行。

7.7.3.6 总结

通过在Mac上安装Docker Desktop for Mac,并熟悉其基本配置和使用方法,你可以轻松地在Mac上进行Docker容器的开发、部署和管理。无论是对于学习Docker技术,还是进行实际的项目开发,这都是一个强大且便捷的解决方案。希望本章内容能够帮助你更好地掌握Docker在Mac上的部署与使用。


该分类下的相关小册推荐: