Docker 安装与使用手册
目录
Docker 简介
Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。Docker 容器与虚拟机类似,但容器更加轻量级,且性能开销更小。
Docker 安装
Ubuntu/Debian 系统
-
更新系统包
bash
复制
sudo apt-get update sudo apt-get upgrade -y -
安装依赖包
bash
复制
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common -
添加 Docker 官方 GPG 密钥
bash
复制
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -
添加 Docker 仓库
bash
复制
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -
安装 Docker
bash
复制
sudo apt-get update sudo apt-get install -y docker-ce -
启动 Docker 服务
bash
复制
sudo systemctl start docker sudo systemctl enable docker -
验证安装
bash
复制
sudo docker --version
CentOS/RHEL 系统
-
更新系统包
bash
复制
sudo yum update -y -
安装依赖包
bash
复制
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 -
添加 Docker 仓库
bash
复制
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装 Docker
bash
复制
sudo yum install -y docker-ce -
启动 Docker 服务
bash
复制
sudo systemctl start docker sudo systemctl enable docker -
验证安装
bash
复制
sudo docker --version
Docker 基本指令
镜像操作
-
拉取镜像
bash
复制
docker pull <镜像名>:<标签>示例:
bash
复制
docker pull ubuntu:20.04 -
列出本地镜像
bash
复制
docker images -
删除镜像
bash
复制
docker rmi <镜像ID或镜像名> -
构建镜像
bash
复制
docker build -t <镜像名>:<标签> <Dockerfile路径>示例:
bash
复制
docker build -t myapp:1.0 .
容器操作
-
运行容器
bash
复制
docker run [选项] <镜像名>:<标签>示例:
bash
复制
docker run -it ubuntu:20.04 /bin/bash -
列出运行中的容器
bash
复制
docker ps -
列出所有容器(包括停止的)
bash
复制
docker ps -a -
停止容器
bash
复制
docker stop <容器ID或容器名> -
启动已停止的容器
bash
复制
docker start <容器ID或容器名> -
删除容器
bash
复制
docker rm <容器ID或容器名> -
进入运行中的容器
bash
复制
docker exec -it <容器ID或容器名> /bin/bash -
查看容器日志
bash
复制
docker logs <容器ID或容器名>
网络操作
-
列出网络
bash
复制
docker network ls -
创建网络
bash
复制
docker network create <网络名> -
连接容器到网络
bash
复制
docker network connect <网络名> <容器ID或容器名> -
断开容器与网络的连接
bash
复制
docker network disconnect <网络名> <容器ID或容器名>
数据卷操作
-
创建数据卷
bash
复制
docker volume create <卷名> -
列出数据卷
bash
复制
docker volume ls -
删除数据卷
bash
复制
docker volume rm <卷名> -
挂载数据卷到容器
bash
复制
docker run -v <卷名>:<容器内路径> <镜像名>:<标签>
Docker Compose 使用
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过 docker-compose.yml 文件,可以配置应用的各个服务、网络和卷。
-
安装 Docker Compose
bash
复制
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.yml文件yaml
复制
version: '3' services: web: image: nginx ports: - "80:80" db: image: mysql environment: MYSQL_ROOT_PASSWORD: example -
启动服务
bash
复制
docker-compose up -d -
停止服务
bash
复制
docker-compose down
常见问题与解决方案
-
Docker 容器无法启动
- 检查容器日志:
docker logs <容器ID> - 确保端口未被占用,或修改端口映射。
- 检查容器日志:
-
Docker 镜像拉取失败
- 检查网络连接。
- 尝试更换镜像源。
-
Docker 容器内无法访问外部网络
- 检查 Docker 网络配置。
- 确保防火墙未阻止 Docker 的网络流量。