Docker目前支持CentOS 7及以后的版本
系统的要求跟Ubuntu情况类似,64位操作系统,内核版本至少为3.10
首先,为了方便添加软件源,以及支持devicemapper存储类型,安装如下软件包:
$ sudo yum update $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
添加Docker稳定版本的yum软件源:
清华大学yum源
$ sudo yum-config-manager \ --add-repo \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
或者
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
注意 执行以上命令时,如果报错 sudo: yum-config-manager: command not found
yum -y install yum-utils
更新yum软件源缓存,并安装Docker
$sudo yum update $sudo yum install -y docker-ce
已安装: docker-ce.x86_64 3:20.10.10-3.el7 作为依赖被安装: 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.11-3.1.el7 docker-ce-cli.x86_64 1:20.10.10-3.el7 docker-ce-rootless-extras.x86_64 0:20.10.10-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
启动Docker
$ sudo systemctl start docker
查看 docker 版本 docker version
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker version Client: Docker Engine - Community Version: 20.10.10 API version: 1.41 Go version: go1.16.9 Git commit: b485636 Built: Mon Oct 25 07:44:50 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.10 API version: 1.41 (minimum version 1.12) Go version: go1.16.9 Git commit: e2f740d Built: Mon Oct 25 07:43:13 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.11 GitCommit: 5b46e404f6b9f661a205e28d59c982d3634148f8 runc: Version: 1.0.2 GitCommit: v1.0.2-0-g52b36a2 docker-init: Version: 0.19.0 GitCommit: de40ad0
安装完成!
启动一个Nginx容器,检查是否能正确获取镜像并运行
[root@localhost docker]# docker run -d -p 80:80 --name webserver nginx
如果出现错误:docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 108.160.170.41:443: i/o timeout.
https://www.gyzth.top/article/1539.html
再次启动一个nginx 容器时报错
$ docker run -d -p 80:80 --name webserver nginx docker: Error response from daemon: driver failed programming external connectivity on endpoint webserver (2ff93bc4a99535d27b3ae6540b3a7762c4866dd0975f417f5a2d1b72237c8f7d): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.
netstat -tanlp 查看端口
重新获取容器即可!
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker run -d -p 80:80 --name web nginx 8baf20a894b4da1f8df8364db2136af88c75fea0a5ac53bef04e027082e1996b
docker ps 命令 查看运行的容器
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8baf20a894b4 nginx "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp web
浏览器访问,则打开nginx服务