Docker安装:
Docker的三大核心概念:镜像、容器、仓库
镜像:类似虚拟机的镜像、用俗话说就是安装文件。
容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,
可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。
仓库:类似代码仓库,是Docker集中存放镜像文件的场所。
1、检查内核版本,返回的值大于3.10即可。
[root@izbp10emun5qn10wzxch6zz /]# uname -r
3.10.0-693.2.2.el7.x86_64
2、确保yum是最新的
yum update
3、安装 yum-utils (yum-config-manager功能)
sudo yum install -y yum-utils
或者(是devicemapper驱动依赖的)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置yum源(设置稳定存储库)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
6、安装docker
sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
或者
sudo yum install docker-ce docker-ce-cli containerd.io
#也可以指定安装某个版本
通过完全限定的包名称安装特定版本,即包名称 ( docker-ce) 加上从第一个冒号 ( :)开始的版本字符串(第 2 列),直到第一个连字符,由连字符 ( -)分隔。例如,docker-ce-18.09.1 $ sudo yum install
安装成功后,使用docker version命令查看是否安装成功,安装成功后------如下图
[root@iZ2zehme7kjwln87vm7pd6Z ~]# docker version
Client: Docker Engine - Community
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:56:24 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?
7、启动并加入开机启动
sudo systemctl start docker $ sudo systemctl enable docker
8、验证启动是否成功(有client和service两部分表示docker安装启动都成功了)
使用docker version命令查看
[root@izbp10emun5qn10wzxch6zz /]# docker version
Client:
Version: 17.05.0-ce
API version: 1.29
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:06:25 2017
OS/Arch: linux/amd64
Server:
Version: 17.05.0-ce
API version: 1.29 (minimum version 1.12)
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:06:25 2017
OS/Arch: linux/amd64
Experimental: false
8.设置开机自启动
[root@izbp10emun5qn10wzxch6zz /]# systemctl enable docker
9.删除 Docker CE
执行以下命令来删除 Docker CE:
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
docker-compose 找不到的问题:
[root@iZ2zehme7kjwln87vm7pd6Z jason-pro]# docker-compose up -d -bash: docker-compose: command not found
解决方案:
先安装 pip ,检查是否已有: pip -V
有安装:
[root@iz2ze3bcx7adgu5fdekkw4z doga-wechat]# pip -V pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
未安装:
[root@iZ2zehme7kjwln87vm7pd6Z jason-pro]# pip -v -bash: pip: command not found
安装 pip :使用脚本安装和升级pip
查看python版本 python --version wget https://bootstrap.pypa.io/get-pip.py python 2.7版本对应的pip下载地址: wget https://bootstrap.pypa.io/pip/2.7/get-pip.py python get-pip.py pip -V
#查看pip版本 #升级 pip install --upgrade pip
安装Docker-Compose:
pip install docker-compose
pip install docker-compose 出错:
ERROR: Cannot uninstall 'requests'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
版本导致的;解决方案 忽略
pip install docker-compose --ignore-installed requests
docker pull 错误问题:
[root@iZ2zehme7kjwln87vm7pd6Z ~]# Using default tag: latest Error response from daemon: Head https://registry-1.docker.io/v2/library/redis/manifests/latest: read tcp 172.17.16.107:60902->54.152.28.6:443: read: connection reset by peer
解决方案:
[root@iZ2zehme7kjwln87vm7pd6Z ~]# vim /etc/docker/daemon.json [root@iZ2zehme7kjwln87vm7pd6Z ~]# cat /etc/docker/daemon.json { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] } [root@iZ2zehme7kjwln87vm7pd6Z ~]# systemctl daemon-reload [root@iZ2zehme7kjwln87vm7pd6Z ~]# systemctl restart docker
centos下docker运行容器mysql报错runc: symbol lookup error: runc: undefined symbol: seccomp_api_get
解决方案:
yum install libseccomp-devel