Docker 20.10.7: 简介与示例
引言
Docker是一个开源的容器化平台,可以将应用程序及其依赖打包成一个独立的容器,以便在不同的环境中运行。通过使用Docker,开发者可以实现高效、可移植和可扩展的应用部署。
本文将介绍Docker的基本概念、安装和常用命令,并提供一些代码示例来帮助读者更好地理解其用法。
Docker基本概念
在开始学习Docker之前,我们需要了解一些基本概念。
-
镜像(Image):Docker镜像是一个轻量级、独立的可执行软件包,包含运行应用程序所需的一切,如代码、运行时环境、库、环境变量等。镜像可以从Docker Hub上获取,也可以通过Dockerfile构建。
-
容器(Container):容器是基于镜像创建的运行实例,是Docker的核心部分。容器可以被启动、停止、删除,并且在不同的容器之间可以共享数据。
-
Dockerfile:Dockerfile是一个文本文件,用于自动化构建Docker镜像。它包含了一系列的指令,如基础镜像选择、文件拷贝、环境变量设置等。
安装Docker
在开始使用Docker之前,我们需要先安装Docker。以下是在Linux系统上安装Docker的示例代码:
# 更新系统软件包
sudo apt-get update
# 安装Docker的依赖
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# 添加Docker的官方GPG密钥
curl -fsSL | 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] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新软件包源并安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 验证Docker是否安装成功
sudo docker run hello-world
常用Docker命令
一旦安装完成,我们就可以开始使用Docker。以下是一些常用的Docker命令示例:
-
docker pull
:从Docker Hub上下载一个镜像。docker pull ubuntu:20.04
-
docker images
:列出所有本地的镜像。docker images
-
docker run
:创建一个新的容器并运行。docker run -it ubuntu:20.04 /bin/bash
-
docker ps
:列出正在运行的容器。docker ps
-
docker stop
:停止一个正在运行的容器。docker stop container_id
-
docker rm
:删除一个已停止的容器。docker rm container_id
Docker示例
下面我们来看一个简单的Dockerfile示例,用于构建一个运行Node.js应用的Docker镜像:
# 指定基础镜像
FROM node:14
# 设置工作目录
WORKDIR /app
# 拷贝应用程序代码
COPY . /app
# 安装应用程序依赖
RUN npm install
# 暴露应用程序端口
EXPOSE 3000
# 运行应用程序
CMD ["npm", "start"]
使用以上Dockerfile,我们可以通过以下命令构建镜像并运行容器:
# 构建镜像
docker build -t myapp .
# 运行容器
docker run -p 3000:3000 myapp
这样我们就成功地将一个Node.js应用程序打包成了一个可运行的Docker镜像,并通过容器运行起来。
结论
Docker是一个强大