docker简介:
1.镜像
docker镜像是一个特殊的文件系统,能够提供容器运行时所需的资源。如果接触过dockerfile的同学应该知道,我们构建镜像时都会选择一个基础镜像(没接触过别担心下面会讲),这说明docker镜像是一层层进行构建的,一个镜像往往由多层文件系统组成。
2.容器
镜像是静态的,镜像运行起来的时候就变成了容器。容器相当于一个完整的操作系统,他可以有自己的文件系统,自己的网络配置。假如我们使用一个mysql容器进行存储数据,这时数据会存储在当前容器的存储层,存储层的生命周期和容器一样,容器消亡时,其存储层也不在了,所以我们在使用这种需要存储数据的容器时,往往都需要指定数据卷Volume(挂载一个宿主机的文件目录),这样即使容器删除,数据也不会消失。
3.仓库
顾名思义,docker仓库即为存储镜像的地方,我们可以将镜像上传至仓库,也可以从仓库下载镜像。这个比较简单,没什么好说的。
Debian/Ubuntu 用户安装步骤
以下内容根据
修改而来。旧的Docker版本可能叫做docker,docker-engine或者
,如果你过去安装过 docker,先删掉:sudo apt-get remove docker docker-engine docker.io
首先安装依赖:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
根据你的发行版,下面的内容有所不同。你使用的发行版: Debian Ubuntu
信任 Docker 的 GPG 公钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
对于 amd64 架构的计算机,添加软件仓库(该部分将docker官方仓库地址修改为清华大学开源软件镜像站地址以提高下载速度):
sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
如果你是树莓派或其它ARM架构计算机,请运行:
echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list
最后安装
sudo apt-get update sudo apt-get install docker-ce
Fedora/CentOS/RHEL用户安装步骤
以下内容根据
修改而来。如果你之前安装过 docker,请先删掉
sudo yum remove docker docker-common docker-selinux docker-engine
安装一些依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
根据你的发行版下载repo文件: CentOS/RHEL Fedora
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
把软件仓库地址替换为 TUNA:
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
最后安装:
sudo yum makecache fast sudo yum install docker-ce
Docker安装的后续步骤
使用非 root
用户管理docker
默认情况下,docker只能在root用户权限下运行,非root用户需要使用sudo才能运行。最新版的Docker通过添加docker用户组来实现非root权限用户操作docker的功能。需要注意的是,docker用户组实质上和root用户是一样的,因此其对系统安全的影响也是一样的。要使用非root用户管理docker。
首先创建 docker
用户组:
sudo groupadd docker
然后将当前用户添加到 docker
用户组中:
sudo usermod -aG docker $USER
注销当前用户并重新登录(或者重启电脑)后,用户即可被添加到 docker
用户组中。在linux系统中,也可以通过以下命令快速激活 docker
用户组。
newgrp docker
要确定上述操作是否生效,可在命令行运行如下命令进行测试,该命令会从docker官方下载 hello-world
镜像并运行:
docker run hello-world
如果在将当前用户添加到 docker
用户组之前就使用 sudo
运行过docker命令行,那么可能会提示如下错误。
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied
该错误告诉你你的 ~/.docker/
文件夹创建的权限不正确。这个问题可以通过移除个人目录下的 .docker
文件夹并由系统重新创建生成,或者修改该文件夹所有者权限来解决。
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R $ sudo chmod g+rwx "$HOME/.docker" -R
Docker的开机自启动配置
在现代的大部分Linux系统发行版中,都通过 systemd
来管理随系统开机自启动的服务(在 Ubuntu14.04
或更低的版本下使用 upstart
) , 通过以下命令使用 systemd
来启动或者禁用docker开机自启动功能。
sudo systemctl enable docker //启用docker服务 sudo systemctl disable docker //禁用docker服务
Docker
通过 upstart
服务自动配置了开机启动的功能,要禁用该功能,可以使用以下命令:
echo manual | sudo tee /etc/init/docker.override
至此关于Linux系统安装docker的教程分享结束,欢迎大家在评论区留言。
以上就是
为各位朋友分享的 相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多 等着你!