linux环境(centos7)安装docker
默认这篇文章已经有一台安装好centos7的服务器。如果还没有请自行百度安装教程。
前言
docker容器这个名词越来越火,至于它的优点可以自行百度。下面是我学习docker的记录,留给后面一样的新手或者小白,不喜勿喷。一、docker是什么?
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
二、在CentOS上安装Docker Engine
1.卸载旧版本
较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。Docker Engine软件包现在称为docker-ce。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.使用存储库安装
设置存储库
安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安装DOCKER引擎
安装最新版本的Docker Engine和容器
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受GPG密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,则接受它。
安装特定版本的Docker Engine
请在存储库中列出可用版本,然后选择并安装
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)到第一个连字符,以连字符(-)分隔。例如,docker-ce-18.09.1
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
到目前为止Docker已安装但尚未启动。该docker组已创建,但没有用户添加到该组。
4.启动Docker
$ sudo systemctl start docker
5.运行hello-world 镜像来验证是否正确安装了Docker Engine
$ sudo docker run hello-world
6.将用户添加到“ docker”组
如果要使用Docker作为非root用户,则使用以下方式将用户添加到“ docker”组,如果不需要请忽略$ sudo usermod -aG docker your-user
7.配置Docker在系统启动时启动
$ sudo systemctl enable docker
若要禁用此行为,请改用disable。
$ sudo systemctl disable docker
8.卸载Docker
卸载Docker Engine,CLI和Containerd软件包:$ sudo usermod -aG docker your-user
主机上的映像,容器,卷或自定义配置文件不会自动删除。您必须手动删除所有已编辑的配置文件,要删除所有图像,容器和卷:
$ sudo rm -rf /var/lib/docker
9.常见问题
sudo docker run hello-world docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). See 'docker run --help'. 由于docker默认的源为国外官方源,下载速度较慢,甚至下载镜像报错,可改为国内镜像源加速 新增 /etc/docker/daemon.conf 有些博客说新增 daemon.json文件,经测试会导致docker重启失败,后缀改为conf重启成功[root@localhost docker]# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Thu 2020-08-14 16:58:21 CST; 13s ago
Docs: https://docs.docker.com
Process: 13258 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
Main PID: 13258 (code=exited, status=1/FAILURE)
Jul 25 10:58:18 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Jul 25 10:58:18 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Jul 25 10:58:18 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Jul 25 10:58:18 localhost.localdomain systemd[1]: docker.service failed.
Jul 25 10:58:21 localhost.localdomain systemd[1]: docker.service holdoff time over, scheduling restart.
Jul 25 10:58:21 localhost.localdomain systemd[1]: start request repeated too quickly for docker.service
Jul 25 10:58:21 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Jul 25 10:58:21 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Jul 25 10:58:21 localhost.localdomain systemd[1]: docker.service failed.
vi /etc/docker/daemon.conf
{
"registry-mirrors": ["https://cr.console.aliyun.com/","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}
重启docker服务使配置生效
$ systemctl restart docker.service
10.查看docker镜像版本
https://hub.docker.com/r/library/ 搜索对应版本tag pull拉取即可总结
教你一步步安装好docker环境,接下来就可以在项目中正式使用了,期待后续更新…
续。。。
1.使用脚本安装
curl https://get.docker.com | sh && sudo systemctl --now enable docker
2. 添加用户组
# 将登陆用户加入到docker用户组中
sudo gpasswd -a $USER docker
# 更新用户组
newgrp docker