10分钟学会Docker的安装与使用

Docker是一种开源平台,旨在帮助开发者简化应用程序的开发、交付和管理。通过Docker,可以将应用及其所有依赖项打包到一个轻量级的容器中,这些容器能够在任何地方运行,无论是在个人计算机上,还是在云服务器、集群等环境中。

在本教程中,我们将通过以下步骤教你如何在10分钟内安装Docker,并展示如何使用Docker创建、管理和运行容器。此外,我们将通过实际案例帮助你理解Docker的强大之处。

一、Docker的安装

1. 前置要求

在安装Docker之前,请确保你的系统满足以下要求:

  • 操作系统:Docker支持Linux(如Ubuntu、CentOS)、Windows和macOS。
  • 内存:至少2GB的RAM。
  • CPU:支持虚拟化的CPU。

2. 安装Docker

2.1 在Linux上安装Docker

下面以Ubuntu为例。

  1. 更新系统

    sudo apt-get update
    
  2. 安装Docker的依赖程序

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加Docker的官方GPG密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 添加Docker的官方仓库

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  5. 安装Docker CE(社区版)

    sudo apt-get update
    sudo apt-get install docker-ce
    
  6. 启动并验证Docker

    sudo systemctl start docker
    sudo systemctl enable docker
    sudo docker --version
    

    输出类似 Docker version 20.10.7, build f0df350 即表示安装成功。

2.2 在Windows上安装Docker
  1. 访问 Docker Desktop for Windows
  2. 下载并运行安装程序,按照指示完成安装。
  3. 启动Docker Desktop,系统会自动在后台配置Docker环境。
  4. 在命令提示符下运行 docker --version 检查安装情况。
2.3 在macOS上安装Docker
  1. 访问 Docker Desktop for Mac
  2. 下载并安装Docker Desktop。
  3. 启动Docker Desktop,检查安装情况。
  4. 在终端中运行 docker --version 确认安装成功。

3. Docker的基本概念

在开始使用Docker之前,了解一些基本概念是很有帮助的:

  • 镜像(Image):Docker镜像是一个只读的模板,包含了运行某个应用程序所需的所有依赖。镜像可以从Docker Hub及其他仓库获取。
  • 容器(Container):容器是镜像的实例,是私有的、独立的运行环境。可以把容器看作是一个轻量级的虚拟机。
  • Docker Hub:Docker的公共镜像仓库。用户可以从中下载需要的镜像,也可以将自己的镜像推送到这里。

二、Docker的基本操作

1. 拉取Docker镜像

在命令行中输入以下命令,从Docker Hub拉取Nginx镜像:

docker pull nginx

该命令将下载最新的Nginx镜像。

2. 查看已下载的镜像

运行以下命令查看本地存储的Docker镜像列表:

docker images

你将看到类似这样的输出:

REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest e7d22c8a1aca 2 weeks ago 133MB

3. 运行Docker容器

使用以下命令启动一个Nginx容器:

docker run --name my-nginx -d -p 8080:80 nginx
  • --name my-nginx:为容器指定名称。
  • -d:让容器在后台运行。
  • -p 8080:80:将本地的8080端口映射到容器的80端口。

可以通过浏览器访问 http://localhost:8080 来查看Nginx欢迎页面。

4. 查看正在运行的容器

运行以下命令查看当前正在运行的容器:

docker ps

你将看到类似这样的输出:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e4ad72df62c5 nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp my-nginx

5. 停止和启动容器

要停止正在运行的容器,可以使用以下命令:

docker stop my-nginx

要重新启动该容器,可以使用:

docker start my-nginx

6. 删除容器和镜像

如果不再需要某个容器,可以使用以下命令将其删除:

docker rm my-nginx

如果需要删除某个镜像,使用:

docker rmi nginx

7. 查看容器的日志

在开发和调试过程中,查看容器的日志信息是很有用的。可以使用以下命令查看Nginx容器的日志:

docker logs my-nginx

8. 执行容器内部的操作

如果你想进入正在运行的容器并执行一些命令,可以使用 exec 命令:

docker exec -it my-nginx /bin/bash

这将以交互模式打开一个bash终端,允许你直接在容器内执行命令。

三、案例分析:使用Docker搭建一个简单的Web应用

1. 案例介绍

在这个案例中,我们将使用Docker构建并运行一个简单的Node.js Web应用。这个应用将提供一个API,用于显示“Hello, Docker!”的消息。

2. 环境准备

确保你的系统已经安装了Docker。

3. 创建项目目录

在任意位置创建一个项目文件夹:

mkdir hello-docker
cd hello-docker

4. 创建Node.js应用

在项目目录中创建一个 app.js 文件,内容如下:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
res.send('Hello, Docker!');
});

app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});

同时,创建一个 package.json 文件,内容如下:

{
"name": "hello-docker",
"version": "1.0.0",
"description": "A simple Node.js app",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "^4.17.1"
}
}

5. 创建Dockerfile

在项目目录中创建一个名为 Dockerfile 的文件,内容如下:

# 使用Node.js官方基础镜像
FROM node:14

# 设置工作目录
WORKDIR /usr/src/app

# 复制package.json和package-lock.json
COPY package*.json ./

# 安装应用所需的依赖
RUN npm install

# 复制应用的源代码
COPY . .

# 暴露应用运行的端口
EXPOSE 3000

# 指定容器启动时执行的命令
CMD [ "npm", "start" ]

6. 构建Docker镜像

在项目目录中运行以下命令构建Docker镜像:

docker build -t hello-docker .

该命令会根据Dockerfile的内容构建一个名为 hello-docker 的镜像。

7. 运行容器

构建完成后,使用以下命令运行容器:

docker run -p 3000:3000 hello-docker

这将把容器的3000端口映射到本地的3000端口。

8. 访问应用

在浏览器中输入 http://localhost:3000,如果一切正常,你将看到 “Hello, Docker!” 的消息。

9. 停止和清理

要停止容器,可以按下 Ctrl + C 或使用 docker ps 找到容器ID,然后运行:

docker stop <container_id>

要删除镜像,运行:

docker rmi hello-docker

四、总结

在这篇教程中,我们介绍了Docker的安装与基本使用方法,并通过一个Node.js Web应用的案例分析展示了Docker的强大功能。Docker使得应用的开发、交付和运行变得更加简单和高效,极大地促进了持续集成与持续交付(CI/CD)的实践。

随着对Docker理解的深入,你可以将其应用到更复杂的场景中,比如微服务架构、集群管理等。希望这篇教程能够帮助你快速上手Docker,开启你的容器化之旅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值