Docker学习笔记1
标签(空格分隔): Docker
最近一段时间因项目需要,开始学习Docker。记录下之前学习的内容。
Docker简介
什么是Docker
Docker是一个开源的引擎,可以轻松的为任何任何应用创建一个轻量级的、可移植的、自给自足的容器。编译测试通过的容器可在批量地部署到生产环境中。
传统虚拟机技术是虚拟一套硬件后,在其运行一个完整的操作系统,然后在该系统运行所需应用进程;而Docker容器内的应用进程直接运行于宿主机的内核,容器内没有自己的内核,也没有进行硬件虚拟化。因此容器比传统虚拟机更为轻便。
下面的图片比较了 Docker 和传统虚拟化方式的不同之处。
image_1bhpmtbui1igp1mfd1abeot6ovh9.png-63.2kB image_1bhpmukpbluh6ni7kjn4ki01t.png-67.9kB为什么要使用Docker
- 更高效的利用系统资源
- 更快的启动时间
- 一致的运行环境
- 持续交付和部署
- 更轻松的迁移
- 更轻松的维护和扩展
安装Docker
系统要求
Centos系统版本最低要求是Centos 7
自动安装
使用Docker官方提供的安装脚本,执行后就安装上了Docker
curl -sSL https://get.docker.com/ | sh
手动安装
添加内核参数
sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
重新加载 sysctl.conf
sudo sysctl -p
添加yum源
Centos系统源中的版本较旧,而且非官方维护的版本。需要使用Docker官方提供的Centos软件源
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
安装Docker
更新 yum 软件源缓存,并安装 docker-engine。
sudo yum update
sudo yum install docker-engine
启动docker引擎
sudo systemctl enable docker
sudo systemctl start docker
建立docker用户组
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
建立docker组
sudo groupadd docker
将当前用户加入docker组
sudo usermod -aG docker $USER
测试是否安装成功
docker run hello-world
参考文章
Docker从入门到实践
Docker学习笔记
网友评论