sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum list docker-ce --showduplicates | sort -r
sudo yum -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
sudo yum -y install docker-ce-17.03.2.ce-1.el7.centos
yum install -y docker-ce-17.03.2.ce --downloadonly --downloaddir=./
sudo yum -y install docker-ce
只需要下载对应版本RPM包 即可;
阿里镜像源地址
如安装docker-18.09.5,下载对应的3个RPM包即可
containerd.io-1.2.5-3.1.el7.x86_64.rpm
docker-ce-18.09.5-3.el7.x86_64.rpm
docker-ce-cli-18.09.5-3.el7.x86_64.rpm
1,首先下载安装脚本
curl -OS https://releases.rancher.com/install-docker/18.09.sh
2,如果有连接外网VPN,可以使用
curl https://releases.rancher.com/install-docker/18.09.sh |sudo sh
直接安装,但这个不建议
如果直接在线执行,缺点是无法修改脚本,失败率高,不建议,因为在centos安装时失败,并提示yum 源找不到可以通过修改一行代码,改用阿里的镜像源
centos|fedora|redhat|oraclelinux)
#yum_repo="https://download.docker.com/linux/centos/docker-ce.repo"
yum_repo="https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo"
3, 下载脚本后第一件事就是修改为阿里的镜像源
下载脚本 阿里镜像源地址:https://mirrors.aliyun.com/docker-ce/linux/
所以把
https://download.docker.com/linux
全部替换为:
https://mirrors.aliyun.com/docker-ce/linux
vi 或者vim 18.09.sh
:%s/https:\/\/download.docker.com\/linux/https:\/\/mirrors.aliyun.com\/docker-ce\/linux/g
然后执行sh 18.09.sh 安装成功的
执行时报错:
+ sh -c apt-get install -y -q docker-ce=
Reading package lists...
Building dependency tree...
Reading state information...
E: Version '' for 'docker-ce' was not found
这个可能Ubuntu版本太高,需要手动来安装docker了
sudo apt install docker.io
离线安装包 还在找
中写入如下内容(如果文件不存在请新建该文件)
[root@yktapp1 dockersh]# cat /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
也可以使用阿里的镜像加速器和本地仓库配置
"https://8m0vweth.mirror.aliyuncs.com"
[root@yktapp1 dockersh]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["0.0.0.0/0"]
}
“insecure-registries”: [“0.0.0.0/0”] 通配表示所有http协议仓库,如果只想通配某个http协议仓库,可以写成具体名称或者通配
"insecure-registries":["10.251.66.44:5000"]
"insecure-registries":["10.251.26.0/24"]
If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add
--insecure-registry myregistrydomain.com to the daemon's start up arguments.
In the case of HTTPS, if you have access to the registry's CA certificate, simply place the CA certificate at /etc/docker/certs.d/myregistrydomain.com/ca.crt .
自签名https和不安全http都可以用这种方式解决,自签名的证书,也可以把证书copy到相应目录解决,无需添加insecure-registries选项,具体方法参见harbor的使用说明
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://wgaccbzr.mirror.aliyuncs.com"],
"data-root": "/app/lib/docker"
}
{
"storage-driver": "overlay2",
"storage-opts":["overlay2.override_kernel_check=true"]
}
EOF
直接修改/etc/fstab中把一个逻辑卷挂到docker存储目录 /var/lib/docker中,但要确保原有的挂载没有东西,并取消之前的挂载关系, umout -a oldpath;可以通过下面查看原有的挂载和逻辑卷情况
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
└─centos-home 253:2 0 41.1G 0 lvm /home
systemctl stop docker
mv /var/lib/docker /home/docker
ln -s /home/docker /var/lib/docker
systemctl start docker
wget -c https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m`
cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
docker ps
sudo gpasswd -a your-user docker
or
sudo usermod -aG docker your-user
这两种方式 都是把非root用户添加到docker组
cat >> /etc/sysctl.conf<