全栈开发者的Docker入门教程

Docker 是一个开放源代码的软件开发平台,它使得开发者能够轻松地在任何地方构建、部署和管理应用程序。对于全栈开发者来说,Docker 提供了一种非常方便的方式来统一开发环境和简化部署流程。下面是一个全栈开发者的 Docker 入门教程,涵盖基本概念、安装、常用命令和一个简单的实例。

### 1. Docker 基本概念
- **镜像(Image)**:Docker 镜像是一个只读的模板,包含了运行容器所需的文件系统和应用程序依赖。
- **容器(Container)**:容器是镜像的运行实例,可以被启动、停止、移动和删除。
- **仓库(Repository)**:Docker 仓库用于存放镜像,可以是公开的也可以是私有的。Docker Hub 是 Docker 的官方公共仓库。

### 2. 安装 Docker
Docker 支持 Windows、macOS 和各种 Linux 发行版。以下以 Ubuntu 为例说明安装过程:

```bash
# 更新软件包索引
sudo apt-get update

# 安装所需的包以允许 apt 通过 HTTPS 使用仓库
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 设置稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 更新软件包索引
sudo apt-get update

# 安装 Docker CE
sudo apt-get install docker-ce
```

### 3. Docker 常用命令
- **运行容器**:
  ```bash
  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  ```
  例如,运行一个 nginx 服务器:
  ```bash
  docker run -d -p 8080:80 nginx
  ```
  这里 `-d` 表示后台运行,`-p 8080:80` 表示将容器的 80 端口映射到主机的 8080 端口。

- **查看运行中的容器**:
  ```bash
  docker ps
  ```

- **停止容器**:
  ```bash
  docker stop CONTAINER_ID
  ```

- **删除容器**:
  ```bash
  docker rm CONTAINER_ID
  ```

- **构建镜像**:
  ```bash
  docker build -t my-image-name .
  ```
  这里 `-t my-image-name` 指定了新镜像的名称,`.` 表示 Dockerfile 所在的目录。

### 4. 实例:Docker化一个简单的 Node.js 应用
1. 创建一个简单的 Node.js 应用:
   ```javascript
   // app.js
   const express = require('express');
   const app = express();

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

   app.listen(3000, () => {
       console.log('App listening on port 3000!');
   });
   ```

2. 创建一个 `Dockerfile`:
   ```Dockerfile
   # 使用官方 Node.js 作为基础镜像
   FROM node:14

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

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

   # 安装依赖
   RUN npm install

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

   # 暴露端口 3000
   EXPOSE 3000

   # 启动 Node.js 应用
   CMD ["node", "app.js"]
   ```

3. 构建和运行 Docker 容器:
   ```bash
   docker build -t node-app .
   docker run -p 3000:3000 -d node-app
   ```

通过这个教程,全栈开发者可以开始利用 Docker 来开发和部署应用程序。Docker 的学习曲线相对平缓,但它极大地简化了部署过程和环境一致性问题。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值