从根本上来说,一个容器就是一个进程。再加上一些封装的特性,用来保障这个容器的隔离性(隔离于主机和其他容器)。
其中最重要的一个隔离性就是文件系统的隔离。(记住一句话,linux下一切皆文件)
一个容器的文件系统由其镜像提供。容器中的服务运行所需要的所有资源都会包含在这个镜像中,源码/二进制、依赖等等。
安装docker,根据自己的linux系统选择对应的官方文档。
我的是centos,下面写写centos的步骤。
1,可能会有老版本的docker干扰,先移除干净
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2,配置镜像源
因为docker的国外仓库访问不通,换成阿里云的镜像仓库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3,安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
4,启动docker
sudo systemctl start docker
5,测试
sudo docker run hello-world
会从docker的镜像仓库拉取镜像并运行。
6,建立 docker 用户组
你应该也发现了,前面的命令都是用了sudo权限,这是因为:
默认情况下,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
测试一下
ok的