3-1 Docker介绍
什么是Docker
-
虚拟化,容器
-
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
-
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
-
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
-
Docker的应用场景,Web 应用的自动化打包和发布
Docker中的概念
- 容器
- 镜像
- 仓库
3-2 安装Docker
- 清除老版本docker,确保机器上没有安装docker
bash
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装docker
bash
# 下载安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
# 配置aliyun镜像
sudo sh get-docker.sh --mirror Aliyun
# 查看docker状态
systemctl status docker
# 启动docker
systemctl start docker
# 配置开启自启状态
systemctl enable docker
# 查看docker状态
systemctl restart docker
- 卸载docker
bash
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
3-3 仓库镜像容器的关系
容器镜像仓库的关系
- 仓库:存放镜像的地方,分远程仓库(docker hub)和本地仓库
- 镜像:文件,镜像存放在仓库,又镜像可以实例化出来容器
- 容器:容器是真正干活的对象,就是一个进程;由容器也生成镜像
3-4 Hello World
hello world
- 第一次使用docker,从helle world开始哈
bash
docker run hello-world
镜像的完整写法:
bash
完整写法:仓库地址/镜像名:版本号
简写: 仓库地址/镜像名
3-5 远程仓库Docker Hub
3-12 docker0网桥
容器内安装常用工具
bash
apt-get update
# ifconfig
apt-get install -y net-tools
# ping
apt-get install -y iputils-ping
# ip
apt-get install -y iproute2
- docker0网桥其实是nat桥
- docker0网桥上的容器是在一个局域网内,同一个ip字段,通过ip可以互相访问
- veth-pair设备一端在docker0网桥上,一端在容器内部。