Docker 简介

  • 基于 Linux Namespace(隔离)和 Cgroups(限制资源)
  • 核心组件:Client、Daemon、Images、Container、Registry

常用镜像命令

docker image ls                        # 查看本地镜像
docker pull nginx:latest               # 拉取镜像
docker image inspect nginx             # 查看详情
docker image rm nginx                  # 删除镜像
docker image save nginx > nginx.tar    # 导出
docker image load < nginx.tar          # 导入
docker history nginx                   # 查看分层

常用容器命令

docker ps [-a]                  # 查看容器(-a 含已停止)
docker run -d --name nginx nginx # 后台运行
docker exec -it nginx bash       # 进入容器
docker inspect nginx             # 查看详情
docker logs -f nginx             # 查看日志
docker stats nginx               # 资源统计
docker stop/start/rm nginx       # 停止/启动/删除
docker cp file nginx:/path       # 复制文件到容器

常用 run 参数

-i -t        交互式终端
-d           后台运行
-e           环境变量
-p 8080:80   端口映射
--name       容器名
-v /host:/container  挂载目录
--restart always     自动重启

资源限制

docker run -d --memory="500m" --memory-swap="600m" nginx
docker run -d --cpus="1.5" nginx

数据持久化

方式说明
volumesDocker 管理,保存在 /var/lib/docker/volumes/,推荐
bind mounts挂载宿主机任意路径
tmpfs存储在内存,不持久化
docker volume create mydata
docker run -d --name nginx --mount src=mydata,dst=/usr/share/nginx/html nginx

网络模式

模式说明
bridge默认,创建独立网络命名空间
host与宿主机共享网络
none无网络配置
container:name与指定容器共享网络
自定义支持容器名 DNS 发现

参考