Docker and docker-compose快速安装
跳到导航
跳到搜索
目录
- 1 参考
- 2 Docker国内镜像的配置及使用
- 3 最后改DNS8.8.4.4
- 4 docker on cenos7
- 5 on debian
- 6 修改docker数据目录
- 7 DockerHub镜像加速
- 8 docker-compose
- 9 trouble shooting
参考
Docker国内镜像的配置及使用
最后改DNS8.8.4.4
docker on cenos7
#install docker yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 #如果在外网 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #如果在国内 这里不要用 ali dns 反而是在国内用 8.8.4.4速度正常 or 114.114.114.114 yum-config-manager \ --add-repo \ https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo yum makecache fast yum install docker-ce -y systemctl enable docker systemctl start docker #NOTE 不要用pip 安装 容易出事,见最下面的直接 curl 官方二进制包 yum -y install vim wget curl yum-utils bash-completion bash-completion-extras epel-release lrzsz telnet python-pip pip install docker-compose mkdir -p /home/data/docker echo '{"graph": "/home/data/docker"}' >/etc/docker/daemon.json # cat /etc/docker/daemon.json {"graph": "/home/data/docker"} systemctl restart docker #验证docker储存位置 docker system info | grep "Root Dir"
https://docs.docker.com/install/linux/docker-ce/centos/
on debian
国内网络
sudo apt-get update apt-get install -y gnupg2 sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # step 2: 安装GPG证书 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add - # Step 3: 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" # Step 4: 更新并安装Docker-CE sudo apt-get -y update sudo apt-get -y install docker-ce 安装指定版本的Docker-CE: # Step 1: 查找Docker-CE的版本: # apt-cache madison docker-ce Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial) # sudo apt-get -y install docker-ce=[VERSION]
国外网络
#Fri Nov 8 09:54:03 CST 2019 #apt install software-properties-common -y apt-get remove docker docker-engine docker.io containerd runc apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io
https://docs.docker.com/install/linux/docker-ce/debian/
修改docker数据目录
#2020 centos and debian mkdir -p /data/docker echo '{"graph": "/data/docker"}' >/etc/docker/daemon.json # cat /etc/docker/daemon.json #{"graph": "/data/docker"} systemctl restart docker #验证docker储存位置 docker system info | grep "Root Dir"
https://www.cnblogs.com/davygeek/p/9940022.html
DockerHub镜像加速
docker-compose
国外
#如果在内网看下面的手工 或者找个国内的 镜像吧 sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64" -o /usr/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose #官方教程 有些机器 path没这个目录 sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose docker-compose
国内 和手工
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose #curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose #firefox 直接下载居然很快 wget https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64 curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64“
trouble shooting
docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information. 由于docker-compose up 同时启动的服务过多,超过了请求HTTP限制的60s时间仍未全部成功启动起来,所以出现了超时错误: ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information. If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60). 其中60s是默认的时间。 解决思路: 把 COMPOSE_HTTP_TIMEOUT 的值调大,并转为环境变量即可。 解决步骤: 先进入/etc/profile配置文件,执行命令: vi /etc/profile 然后在尾部添加上下面代码: export COMPOSE_HTTP_TIMEOUT=500 export DOCKER_CLIENT_TIMEOUT=500 接着使/etc/profile配置文件生效,执行命令: source /etc/profile 最后重新执行命令 docker-compose up 即可。
删除volume 后报错 改一下 目录就好了 ERROR: stat /var/lib/docker/overlay2/bc5838430495b942c06a838d8bfecaf416211fa98cc2e3a2372a33ebb7d3061e: no such file or directory echo '{"graph": "/home/data/docker"}' >/etc/docker/daemon.json
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io
Unable to find image 'telegrammessenger/proxy:latest' locally docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:58699->[::1]:53: read: connection refused. restart docker
ERROR: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
原来是他们没开外网 坑 oot@dev-fincy-mq03:/data/apps/redis-cluster# docker-compose up -d Pulling redis-cluster-7004 (redis:5.0.4-alpine)... ERROR: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)