Docker入门学习-01

Docker 官方文档

1. Docker 基础知识

1.1 什么是 Docker?

  • Docker 是一个开源的平台,用于开发、交付和运行应用程序。
  • 它使用容器技术,将应用程序及其依赖打包在一个轻量级的可移植容器中。

1.2 Docker 的主要组件

  • 镜像(Image): 只读的模板,包含运行应用程序所需的一切,包括代码、库、环境变量等。
  • 容器(Container): 镜像的运行实例,可以看作是一个轻量级的虚拟机,但它共享主机的操作系统内核。
  • Dockerfile: 定义镜像的文件,包含了一系列命令,Docker 可以根据这些命令构建镜像。
  • Docker Hub: 官方的镜像仓库,可以从中下载现成的镜像,或上传自己的镜像。

2. 环境准备

2.1 安装 Docker

  • 访问 Docker 官网,根据你的操作系统下载并安装 Docker。
  • 安装完成后,可以通过命令行运行 docker --version 来验证 Docker 是否正确安装。

3. 第一个 Docker 容器

3.1 运行 Hello World

docker run hello-world
  • 这个命令会从 Docker Hub 拉取 hello-world 镜像,并在容器中运行它。
  • 你会看到一条包含 “Hello from Docker!” 的消息,这意味着你的 Docker 安装成功,并且可以正确运行容器。

3.2 理解 docker run 命令

  • docker run:创建并启动一个新的容器。
  • hello-world:要运行的镜像名称。

4. Dockerfile 与自定义镜像

4.1 创建 Dockerfile

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

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

# 复制项目文件到工作目录
COPY . .

# 安装项目依赖
RUN npm install

# 暴露端口
EXPOSE 3000

# 启动应用程序
CMD [ "npm", "start" ]
  • WORKDIR /usr/src/app:将容器内的工作目录设置为 /usr/src/app。接下来所有的 COPY、RUN 等命令都会基于这个目录执行。
  • COPY . .:将本地项目的所有文件复制到容器内的工作目录中。
  • RUN npm install:在容器内安装项目的依赖项。
  • CMD [“npm”, “start”]:设置容器启动时要执行的命令,这里是 npm start,它会启动 Node.js 应用。

4.2 构建镜像

docker build -t my-node-app .
  • -t my-node-app:指定镜像的名称。
  • .:指定 Dockerfile 所在的目录。

4.3 运行容器

docker run -p 3000:3000 my-node-app
  • -p 3000:3000:将主机的 3000 端口映射到容器的 3000 端口。
  • my-node-app:要运行的镜像名称。

4.4 访问应用

打开浏览器,访问 http://localhost:3000,应该可以看到页面显示 “Hello, Docker!”。

5. 完整实例

my-node-app/
│
├── Dockerfile
├── package.json
├── package-lock.json
└── index.js

index.js

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

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

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

package.json

{
  "name": "my-node-app",
  "version": "1.0.0",
  "description": "A simple Node.js app to demonstrate Docker",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "^4.17.1"
  }
}
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code王工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值