Docker 基础命令
检查 Docker 版本
$ docker --version
Docker version 20.10.7, build f0df350
获取 Docker 系统信息
$ docker info
获取 Docker 命令帮助
$ docker help
Docker 镜像管理
Docker 镜像是一个只读模板,用于创建 Docker 容器。以下是一些管理镜像的常用命令:
拉取镜像
$ docker pull ubuntu:latest
列出镜像
$ docker images
删除镜像
$ docker rmi ubuntu:latest
Docker 容器管理
容器是从镜像创建的可运行实例。以下是一些管理容器的常用命令:
运行容器
$ docker run -it ubuntu:latest /bin/bash
列出容器
$ docker ps
停止容器
$ docker stop container_id
删除容器
$ docker rm container_id
Docker 容器操作
操作容器时,除了启动和停止之外,还有许多其他有用的命令:
启动和重启容器
$ docker start container_id
$ docker restart container_id
查看容器日志
$ docker logs container_id
进入容器
$ docker exec -it container_id /bin/bash
$ docker attach container_id
Docker 网络管理
Docker 提供了强大的网络功能,使得容器可以相互通信或与外部网络通信:
列出网络
$ docker network ls
创建网络
$ docker network create my_network
删除网络
$ docker network rm my_network
Docker 卷管理
Docker 卷提供了一种在容器之间共享数据的方式:
创建卷
$ docker volume create my_volume
列出卷
$ docker volume ls
删除卷
$ docker volume rm my_volume
Docker Compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具:
安装 Docker Compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
基本命令
启动服务
$ docker-compose up
停止服务
$ docker-compose down
查看日志
$ docker-compose logs
进阶命令和技巧
创建和管理自定义镜像是 Docker 的一项强大功能:
Dockerfile 的使用
# 使用官方的 Node.js 镜像作为基础镜像
FROM node:14
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 package-lock.json
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制项目文件
COPY . .
# 暴露端口
EXPOSE 3000
# 启动应用
CMD ["node", "app.js"]
构建自定义镜像
$ docker build -t my_app:latest .
多阶段构建
# 第一阶段:构建应用
FROM node:14 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# 第二阶段:部署应用
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
结语
以上常用命令希望对大家有些帮助。