Docker 安装与使用
Docker 安装与使用
介绍
镜像(image)与容器(container)的关系:类似对象与类的关系
Docker Registry:一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像
参考资料
安装与卸载
Windows
- 默认安装到
C:\Program Files\Docker
,管理员打开 CMD,输入以下命使其安装到 D 盘:- 安装到非 C 盘,Docker Desktop 后面的设置修改会报错,建议还是默认安装
1 | mklink /J "C:\Program Files\Docker" "D:\" |
- 设置:
- Resources –
Disk image location
,将存储目录、修改为 D 盘 - 换源:
Docker Engine
– 添加registry-mirrors
参数(下面的源可能失效)
- Resources –
1 | { |
- Docker Desktop 的两个数据目录默认盘在 C 盘,更改数据存储位置:
macOS
安装:OrbStack(非常推荐)、Docker Desktop
配置文件:
~/.docker/config.json
- 设置代理
1 | { |
使用
工具
容器管理平台:GitHub - portainer/portainer: Making Docker and Kubernetes management easy.
GitHub - veggiemonk/awesome-docker: :whale: A curated list of Docker resources and projects
替代 Docker Desktop:GitHub - iongion/container-desktop: Podman desktop companion
VSCode Docker 插件:可以查看镜像、容器和 Registry
Docker 操作 TUI 版本(类似 lazigit):GitHub - jesseduffield/lazydocker: The lazier way to manage everything docker
自动更新 Docker 容器:GitHub - containrrr/watchtower: A process for automating Docker container base image updates.
查看容器资源占用情况:GitHub - bcicen/ctop: Top-like interface for container metrics
Docker 代理:
- Docker Proxy(已失效)
镜像:目前 Docker Hub 的很多国内镜像均失效
1 | # 使用方法 添加前缀 |
- 镜像转存:
Docker 命令
docker
命令
1 | docker --help |
docker run
命令
1 | docker run [OPTIONS] IMAGE [COMMAND] [ARG…] |
- 其他命令
1 | docker container prune # 删除已停止的容器 |
- 注意事项:
docker run
时不指定容器名称,会自动分配名称,如silly_hawking
,用于临时容器或不需关心容器名称的情况下使用。docker run
和docker create
之间的区别:前者是创建容器并运行,后者是只创建容器。docker pull library/hello-world
中的library/hello-world
是镜像在仓库的位置,其中library
是镜像所在的组,hello-world
是镜像名称;用<repository>:<tag>
格式指定镜像版本,默认以latest
作为默认标签- 不同的容器 Registry:
1 | docker.io/XXX/XXX # Docker Hub Registry |
制作镜像
docker-learning/02、创建一个自己的 Docker Image.md at master · qq20004604/docker-learning · GitHub
Docker 忽略文件:
.dockerignore
写在里面的文件或目录不会被打包到 image 中优秀软件和服务的 Dockerfile 文件(一般):GitHub - stilleshan/dockerfiles
Docker Compose
【docker入门2】实战~如何组织一个多容器项目docker-compose_哔哩哔哩_bilibili
- Docker 的多容器控制(容器编排),用于 Docker 自动化;将多个 Docker 容器的操作命令,简化成一条命令,自动完成配置中的容器启动
1 | docker-compose.yml # 配置文件 |
相关问题
Docker 容器中的数据如何同步(用 rsync,没找到其他好的方法)
Linux 版的 Docker Desktop 登录比 Windows 和 Mac 端要麻烦一些
可通过 Docker 部署的应用(图源:水源社区)