Docker系列之一(安装)

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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值