Docker学习笔记
参考
安装 Docker
sudo apt install -y docker.io docker-compose
安装后检查docker是否安装成功
$ docker version
将当前用户加入docker用户组
$ sudo usermod -aG docker $USER
体验docker私有仓库(registry)
使用docker运行
docker run -d -p 5000:5000 --name registry registry:2
Docker Desktop 数据卷存放位置和访问
Docker 默认数据卷存放目录 /var/lib/docker/volumes
, Docker Desktop 基于 WSL2 的使用了 .vhdx 文件格式存储镜像,访问方式:
浏览器访问
\\wsl$\docker-desktop
\\wsl$\docker-desktop-data
数据卷目录
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\
Docker 网络
要点
- Docker 支持 4 种网络工作方式:
- Host :容器不会虚拟出自己的网卡、配置自己的IP,而是使用宿主机的IP和端口;
- Container :容器会使用指定容器的IP和端口范围;
- None :容器关闭网络功能;
- Bridge :会为容器分配和设置IP,并连接到 docker0 虚拟网桥,通过 docker0 网桥和 Iptables nat 表配置与主机通信。
- Docker使用了Linux的Namespaces技术来进行资源隔离。
- 一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。
- 如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。
- 在bridge模式下,连在同一网桥上的容器可以相互通信(若出于安全考虑,也可以禁止它们之间通信,方法是在DOCKER_OPTS变量中设置–icc=false,这样只有使用–link才能使两个容器通信)。