什么是 Docker?
Docker 是一个容器化应用程序的开源平台,在进行开发、测试、部署等环节中可以将应用程序与其依赖以及配置打包并部署。Docker 可以帮助开发者将应用程序从其运行环境中解耦出来,简化了应用程序的部署、扩展和管理等操作。
Docker 安装
在开始安装 Docker 前,需要注意确认自己的操作系统类型和版本,只有满足 Docker 安装的要求才能进行后续操作。
Ubuntu
在 Ubuntu 中,可以通过以下命令更新系统并安装 Docker:
sudo apt-get update sudo apt-get install docker.io
CentOS
在 CentOS 中,可以通过以下命令安装 Docker:
sudo yum update sudo yum install docker
macOS
在 macOS 下,可以直接从 Docker 官网下载 Docker Desktop 进行安装。
Windows
在 Windows 下,也可以从 Docker 官网下载 Docker Desktop 进行安装。
Docker 配置
在完成 Docker 安装后,需要对 Docker 进行一些配置来确保它能够正常地工作。
启动 Docker
在 Ubuntu 和 CentOS 中,可以使用以下命令来启动 Docker:
sudo service docker start
在 macOS 和 Windows 中,可以直接从桌面应用程序中启动 Docker。
配置 Docker 镜像源
默认情况下,Docker 镜像源在国外服务器上,因此下载速度很慢。可以通过配置 Docker 国内加速器来提高下载速度:
- 访问 Docker 官网的 Docker Hub 镜像源地址:https://hub.docker.com/
- 注册并登录账号
- 点击个人账号图标,选择 "Account Settings"
- 点击左侧 "Security",找到 "Access Tokens",点击 "New Access Token"
- 创建完 Access Token 后,在 "Access" 标签中找到 "Docker CLI",将 "Username" 和 "Password" 复制出来
- 在终端中输入以下命令:
-- -------------------- ---- ------- ---- ----- -- ----------- ---- --- ----------------------- -------- - ------------------- ------------------------------- ---------------------- ------------------------------------- - --- ---- --------- ------------- ---- --------- ------- ------
Docker 示例
编写 Dockerfile
Dockerfile 是用来定义 Docker 镜像构建过程的文件。下面是一个简单的 Dockerfile 文件:
-- -------------------- ---- ------- - ------------- ---- ------- - ------ --- -- ------- ---- - ------- ------------- --------- ---- --- ---- ------------- -- - ---- --- --- ------- - ------------------ ---- --- ---- - - - ---- -- ------ ------ -- - ------------ --- - ------ ------- -
构建 Docker 镜像
在 Dockerfile 所在的目录下,输入以下命令构建 Docker 镜像:
docker build -t my-node-app .
其中 -t
指定镜像名称,.
指定 Dockerfile 所在的目录。
启动 Docker 容器
在 Docker 镜像构建完成后,可以使用以下命令来启动 Docker 容器:
docker run -p 80:80 my-node-app
其中 -p
指定容器端口和主机端口的映射关系,my-node-app
指定要启动的 Docker 镜像名称。
总结
本文中,我们介绍了 Docker 的基本概念和安装、配置过程,并且通过一个简单的示例向读者展示了如何使用 Dockerfile 构建、命名和运行 Docker 容器。学习完本文后,读者将能够熟练地使用 Docker,实现应用程序的快速部署、扩展和管理等操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645060dc980a9b385b970170