Docker安装教程

  • A+
所属分类:linux技术
摘要

这里介绍两种安装方法:centsOS安装和Ubuntu安装linux内核版本建议3.8以上,作者本人使用的是3.10;查看内核版本命令:uname -r

这里介绍两种安装方法:centsOS安装和Ubuntu安装

CentOS安装

linux内核版本建议3.8以上,作者本人使用的是3.10;查看内核版本命令:uname -r

一般CentOS7以上都可以

推荐使用root用户操作,避免不必要的麻烦,反正都是个人使用,用户方面并不影响

CentOS安装Docker有两种方式:自动安装和手动安装

一、自动安装

1、更新yum源(非必要操作,建议执行,可以避坑)

$ yum -y update 

注意:

$ yum -y update:升级所有包同时也升级软件和系统内核 $ yum -y upgrade:只升级所有包,不升级软件和系统内核 

2、如果已安装过docker先删除

$ yum remove docker               docker-client               docker-client-latest               docker-common               docker-latest               docker-latest-logrotate               docker-logrotate               docker-engine 

旧版名称是docker , 最新社区版 docker-engine, 目前已改名为docker-ce

3、使用官方安装脚本自动安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 

4、也可以使用国内 daocloud 一键安装命令

curl -sSL https://get.daocloud.io/docker | sh 

二、手动安装

1、更新yum源(非必要操作,建议执行,可以避坑)

$ yum -y update 

注意:

$ yum -y update:升级所有包同时也升级软件和系统内核 $ yum -y upgrade:只升级所有包,不升级软件和系统内核 

2、如果已安装过docker先删除

$ yum remove docker               docker-client               docker-client-latest               docker-common               docker-latest               docker-latest-logrotate               docker-logrotate               docker-engine 

旧版名称是docker , 最新社区版 docker-engine, 目前已改名为docker-ce

3、设置仓库

新主机首次安装 Docker Engine-Community之前,需要设置Docker仓库,之后,可以从仓库安装和更新 Docker。

设置仓库,需要安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2,这两个是 devicemapper 必要依赖包

$ yum install -y yum-utils device-mapper-persistent-data lvm2 

4、设置yum源

  • 官方yum源(中央仓库):由于服务器在国外比较慢,多下几次就下载下来了

    $ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 
  • 阿里云yum源:作者目前使用的,网上大部分教程用的也都是这个源

    $ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
  • 清华大学源:等有很多源,这里就列举三个

    $ yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo 

5、查看docker的可用版本

查看所有仓库中docker版本,并选择特定版本安装

个人使用推荐社区版 docker-ce,免费版本

$ yum list docker-ce --showduplicates | sort -r 

6、配置镜像加速

必须要配置,否则会出现访问镜像并不稳定 ,而且下载缓慢等问题

  • 注册阿里云账号 ,登陆阿里云自行注册
  • 进入阿里云控制台

执行命令:

$ mkdir -p /etc/docker $ tee /etc/docker/daemon.json <<-'EOF' {    "registry-mirrors": ["输入你自己控制台此处的地址"] } EOF $ systemctl daemon-reload    (导入操作) 

7、安装docker-ce版

全称:Docker Engine-Community,社区版

  • 默认安装最新版本

    $ yum install docker-ce 
  • 指定安装版本

    $ yum install  docker-ce-<VERSION_STRING> 例: yum install docker-ce-20.10.9.ce 
  • 显示如下类似信息就表示安装成功

    Installed:   docker-ce.x86_64 3:20.10.11-3.el7  Dependency Installed:   audit-libs-python.x86_64 0:2.8.5-4.el7   checkpolicy.x86_64 0:2.5-8.el7      container-selinux.noarch 2:2.119.2-1.911c772.el7_8   containerd.io.x86_64 0:1.4.12-3.1.el7   docker-ce-cli.x86_64 1:20.10.11-3.el7   docker-ce-rootless-extras.x86_64 0:20.10.11-3.el7   docker-scan-plugin.x86_64 0:0.9.0-3.el7   fuse-overlayfs.x86_64 0:0.7.2-6.el7_8   fuse3-libs.x86_64 0:3.6.1-4.el7   libcgroup.x86_64 0:0.41-21.el7   libsemanage-python.x86_64 0:2.5-14.el7   policycoreutils-python.x86_64 0:2.5-34.el7   python-IPy.noarch 0:0.75-6.el7   setools-libs.x86_64 0:3.3.8-4.el7   slirp4netns.x86_64 0:0.4.3-4.el7_8                                                     Complete! 

8、启动并加入开机启动

  • 启动docker

    $ systemctl start docker 
    [root@VM-0-15-centos ~]# systemctl start docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 
  • 重启命令

    $ systemctl restart docker 
  • 设置开机自启

    $ systemctl enable docker 
    [root@VM-0-15-centos ~]# systemctl enable docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. 
  • 查看docker版本

    $ docker version  
    [root@VM-0-15-centos ~]# docker version  Client: Docker Engine - Community  Version:           20.10.11  API version:       1.41  Go version:        go1.16.9  Git commit:        dea9396  Built:             Thu Nov 18 00:38:53 2021  OS/Arch:           linux/amd64  Context:           default  Experimental:      true Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 

Ubuntu安装

这里的安装方式和CentOS类似,就不详细赘述了

安装Docker有两种方式:自动安装和手动安装

社区版支持以下的 Ubuntu 版本:

  • Xenial 16.04 (LTS)
  • Bionic 18.04 (LTS)
  • Cosmic 18.10
  • Disco 19.04
  • 更新的版本

社区版支持Ubuntu内核: x86_64(或 amd64)armhf,arm64,s390x (IBM Z),和 ppc64le(IBM的Power)架构。

一、自动安装

1、更新ubuntu的apt源索引

$ sudo apt-get update 

2、如果已安装过docker先删除

$ sudo apt-get remove docker docker-engine docker.io containerd runc 

旧版名称是docker , 最新社区版 docker-engine, 目前已改名为docker-ce

3、使用官方安装脚本自动安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 

4、也可以使用国内 daocloud 一键安装命令

curl -sSL https://get.daocloud.io/docker | sh 

二、手动安装

1、更新ubuntu的apt源索引

$ sudo apt-get update 

2、如果已安装过docker先删除

$ sudo apt-get remove docker docker-engine docker.io containerd runc 

旧版名称是docker , 最新社区版 docker-engine, 目前已改名为docker-ce

3、安装包允许apt通过HTTPS使用仓库

$ sudo dpkg --configure -a $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common 

4、添加Docker官方GPG key

【这个是国外服务器地址,所以网路不好的时候,会失败!在网路好的情况下,多执行几次就没问题了】

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 

5、设置Docker稳定版仓库

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 

添加仓库后,更新apt源索引

$ sudo apt-get update 

前面的准备工作完成以后,接下来安装最新版Docker CE(社区版)

$ sudo apt-get install docker-ce 

检查Docker CE是否安装正确

$ sudo docker run hello-world 

出现了helo from Docker则表示上面的安装成功!也可以使用上面CentOS的方法来检测,就是命令方式换成Ubuntu的

6、docker的基本命令

# 启动docker sudo service docker start  # 停止docker sudo service docker stop  # 重启docker sudo service docker restart  # 列出镜像 docker image ls  # 拉取镜像 docker image pull library/hello-world  # 删除镜像 docker image rm 镜像id/镜像ID  # 创建容器 docker run [选项参数] 镜像名 [命令]  # 停止一个已经在运行的容器 docker container stop 容器名或容器id  # 启动一个已经停止的容器 docker container start 容器名或容器id  # kill掉一个已经在运行的容器 docker container kill 容器名或容器id  # 删除容器 docker container rm 容器名或容器id