销售:050-1791-1110

Docker 容器入门

什么是 Docker?

Docker 是一种容器化技术,可以将应用和它的依赖打包到一个轻量级容器中运行,解决「在我电脑上能跑」的问题。

安装 Docker

# 一键安装脚本
curl -fsSL https://get.docker.com | sh

# 将当前用户加入 docker 组(免 sudo)
sudo usermod -aG docker $USER
newgrp docker

# 验证安装
docker --version
docker run hello-world

基本概念

  • 镜像(Image):只读的应用模板,如 nginx、mysql、node
  • 容器(Container):镜像的运行实例
  • Dockerfile:定义如何构建镜像的脚本
  • Docker Compose:管理多容器应用的工具

常用命令

# 拉取镜像
docker pull nginx

# 启动容器
docker run -d --name my-nginx -p 80:80 nginx

# 查看运行中的容器
docker ps

# 查看日志
docker logs my-nginx

# 进入容器
docker exec -it my-nginx bash

# 停止/删除
docker stop my-nginx
docker rm my-nginx

Docker Compose 示例

# docker-compose.yml
version: "3.8"
services:
  web:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html

  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: secret123
      MYSQL_DATABASE: myapp
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
# 启动
docker compose up -d

# 停止
docker compose down

编写 Dockerfile

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
docker build -t my-app .
docker run -d -p 3000:3000 my-app
滚动至顶部