什么是 Docker
Docker 是一种容器虚拟化技术,可以将应用程序及其所有相关的依赖项打包在一个容器中,然后将该容器部署到任何支持 Docker 的机器上。
Docker 的设计目标是为了简化应用程序的部署和管理。Docker 容器可以用于多种用途,例如构建和测试、应用程序集成和部署、数据中心自动化、在虚拟化环境中运行多个应用程序等。
Docker 的部署
要使用 Docker,需要在本地或者远程的机器上安装 Docker 引擎。Docker 引擎是一个用于构建和运行容器的软件。
在 Ubuntu 上安装 Docker
在 Ubuntu 上安装 Docker 的步骤如下:
更新 apt 软件包索引,并安装必需要的软件包:
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
添加 Docker 的 GPG 密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加 Docker 的软件包仓库:
$ echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新 apt 软件包索引,并安装 Docker 引擎:
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
在 MacOS 上安装 Docker
在 MacOS 上安装 Docker 的步骤如下:
下载并安装 Docker Desktop for Mac。安装过程类似于常规的 Mac 应用程序安装。安装完成后,可以在 Launchpad 中找到 Docker 应用程序。
打开 Docker 应用程序,然后按照提示进行初始化。
Docker 的实战
下面,我们将通过实例说明如何使用 Docker。
示例:用 Docker 运行一个 Node.js 应用程序
要在 Docker 中运行一个 Node.js 应用程序,需要先创建一个 Dockerfile。Dockerfile 是一个文本文件,描述了如何构建 Docker 镜像。
在项目根目录下创建 Dockerfile:
-- -------------------- ---- ------- - --- -- -------- ------- ------- -- - ------ ----- ---- ------- - --- --- ------- --------- -- ---- ------- ---- - ---- --- ------- --------- -------- ---- --- --------- -- ---- ---- - ---- - ------- --- ------ -------- --- --- ------- - ---- ---- ---- --------- -- --- ----- ------- ---- --------- ------ ---- - ------ ----------- -------- --- ---- ----- - --- ---- ------ ---- --- --------- -------- --- ------- --------
该 Dockerfile 使用官方的 Node.js 镜像作为基础镜像,并将当前目录下的文件复制到容器的 /app 目录。
构建 Docker 镜像:
$ docker build -t my-node-app .
该命令使用 Dockerfile 构建镜像,并将该镜像打上标签 my-node-app。
运行 Docker 容器:
$ docker run -p 3000:3000 my-node-app
该命令会运行 my-node-app 镜像,并将容器的端口 3000 映射到主机的端口 3000。
访问应用程序:
打开浏览器,访问 http://localhost:3000,即可看到 Node.js 应用程序的欢迎页面。
总结
本文介绍了 Docker 的概念、部署和实战,并提供了一个用 Docker 运行 Node.js 应用程序的示例。Docker 是一个非常有用的工具,可以极大地简化应用程序的部署和管理,希望这篇文章能够对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646438aa968c7c53b051a27a