教你简单快速地在Linux系统下安装 docker

Docker是基于Go语言开发的!是开源项目!

docker官网:Docker: Accelerated, Containerized Application Development

文档:Docker Documentation | Docker Documentation Docker的文档非常详细!

仓库:Docker Hub 相当于 github,可以pull和push

1、检查环境

​
[root@server33 ~]$ uname -r 
3.10.0-514.el7.x86_64 #要求3.0以上 
[root@server33 ~]$ cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server" 
VERSION="7.3 (Maipo)" ID="rhel" ID_LIKE="fedora" 
VERSION_ID="7.3" 
PRETTY_NAME="Red Hat Enterprise Linux Server 7.3 (Maipo)" 
ANSI_COLOR="0;31" 
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.3:GA:server" 
HOME_URL="Red Hat - We make open source technologies for the enterprise" BUG_REPORT_URL="Red Hat Bugzilla Main Page"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7" 
REDHAT_BUGZILLA_PRODUCT_VERSION=7.3 
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" 
REDHAT_SUPPORT_PRODUCT_VERSION="7.3"

​

关闭 SElinux 和防火墙

[root@docker ~]# vim /etc/selinux/config SELINUX=disabled 
[root@docker ~]# setenforce 0 
[root@docker ~]# getenforce Permissive

systemctl stop firewalld 
systemctl disable firewalld 
systemctl status firewalld 
iptables -F

配置hostname

hostnamectl set-hostname docker && bash

修改主机名配置文件

echo 'ip' docker >> /etc/hosts

同步时间

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

y

2、安装

(1)卸载旧版本,不管有没有,都要试试,以防万一

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

(2)安装需要的安装包

yum install -y yum-utils

(3)设置镜像的仓库(国外的太慢了,所以用国内的)

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

教你简单快速地在Linux系统下安装 docker_第1张图片

[root@server33 /etc/yum.repos.d]$ cat docker-ce.repo 
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
​
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

配置阿里源

cat /etc/yum.repos.d/CentOS7.repo
[aliyun-os]
name=aliyun-os
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0

[aliyun-epel]
name=aliyun-epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enabled=1
gpgcheck=0

[aliyun-extra]
name=aliyun-extra
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
enabled=1
gpgcheck=0

添加epel源

yum install epel-release -y

(4)清理并更新yum软件包索引

yum clean all
yum makecache fast

(5)安装docker相关的包 docker-ce 是社区版-免费 docker-ee 是企业版-要钱

yum install docker-ce docker-ce-cli containerd.io

(6)启动docker服务,并查看版本

systemctl start docker
docker version
Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.18.7
 Git commit:        baeda1f
 Built:             Tue Oct 25 18:04:24 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
​
Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.7
  Git commit:       3056208
  Built:            Tue Oct 25 18:02:38 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.9
  GitCommit:        1c90a442489720eec95342e1789ee8a5e1b9536f
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

 (7)指定 docker 镜像加速器

我们采用国内的网易仓库加速站点

vim /etc/docker/daemon.json
cat /etc/docker/daemon.json
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]  
}

如果你有阿里云的账户的话,你可以登录阿里云,在下图可以找到站点,填入上面就行了

教你简单快速地在Linux系统下安装 docker_第2张图片

重启相关服务

systemctl daemon-reload #修改了启动脚本,需要执行这个重载操作
systemctl restart docker && systemctl status docker
docker info

(8)测试

docker run hello-world

[root@server33 ~]$ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:e18f0a777aefabe047a671ab3ec3eed05414477c951ab1a6f352a06974245fe7 Status: Downloaded newer image for hello-world:latest

Hello from Docker! This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

  1. The Docker client contacted the Docker daemon.

  2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)

  3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.

  4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: Docker Hub

For more examples and ideas, visit: Overview | Docker Documentation

(9)查看一下刚下载的hello-world镜像

docker images

到这里,docker就安装完成了。

你可能感兴趣的:(docker,linux,运维)