centos7纯净版(最小安装)部署docker-ce详情/配置代理

12 篇文章 0 订阅

docker参考
docker参考2
官网
一、安装完纯净版centos7之后查看本机ip

ip addr 

至于为什么用ip addr 而不用ifconfig请看我之前的文章有所介绍
https://blog.csdn.net/jiangbenchu/article/details/82736136
这里写图片描述

二、因为个人习惯原因,我使用xshell登录本虚拟机(根据所查到的ip登录),xhell不会使用的自己可百度搜索,比较简单。也可以在虚拟机上继续操作没有影响。

这里写图片描述

之后输入用户名密码就可以远程登录了

三、根据我之前的文章部署基础配置
https://mp.csdn.net/postedit/82736136

四、首先查看你的系统版本 (docker-ce对系统版本有要求)

cat /etc/os-release

系统要求
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。

如果有的朋友之前安装过docker但是不好用的话可以–卸载旧版本
旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:(可跳过)

yum remove -y docker \
docker-client \
docker-client-latest \
docker-ce-cli \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

再次检查是否有冗余:(可跳过)
如果有清理干净如下所示

[root@test4 leo_k8s_HA]# docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:25:41 2019
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[root@test4 leo_k8s_HA]# yum list installed | grep docker
docker-ce-cli.x86_64                 1:19.03.5-3.el7                 @docker-ce-stable
[root@test4 leo_k8s_HA]# yum remove docker-ce-cli.x86_64

五、安装docker-ce 基础配置
使用 yum 源 安装
执行以下命令安装依赖包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

鉴于国内网络问题,强烈建议使用国内源,下面先介绍国内源的使用。
(国内源官方源选一个就可以)
国内源(推荐)
执行下面的命令添加 yum 软件源:(推荐)

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

或(可跳过)

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

以上命令会添加稳定版本的 Docker CE yum 源。从 Docker 17.06 开始,edge test 版本的 yum 源也会包含稳定版本的 Docker CE。

官方源(可跳过)

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

如果需要最新版本的 Docker CE 请使用以下命令:(可跳过)

sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test

六、正式安装 Docker CE
更新 yum 软件源缓存,并安装 docker-ce。
#快速同步服务器上的缓存

sudo yum makecache fast

更新yum包索引

yum makecache fast

安装指定版本的docker-ce:
查看docker版本有哪些

yum list docker-ce --showduplicates|grep "^doc"|sort -r

指定一个版本例如:

# sudo yum install -y docker-ce-17.12.1.ce-1.el7.centos
或
sudo yum install -y docker-ce-18.06.0.ce-3.el7

七、linux中docker镜像加速器配置(最好配置上要不你会发现docker pull镜像非常的慢)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://l10nt4hq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload

重启docker

sudo systemctl restart docker

八、我们可以使用 docker images 来列出本地主机上的镜像。
使用 docker ps -a来查看我们正在运行的容器

REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小

九、启动 Docker 后台服务

sudo service docker start

设置开机启动:

sudo chkconfig docker on

查看docker版本信息

docker version

查看docker状态

systemctl status docker

docker正常启动状态如下:

这里写图片描述

docker-ce全部配置完成,个人经验希望对你们有所帮助(喜欢的朋友点赞点赞哦,后持续更新dockers运维……)

********备注如果安装不成功可以使用以下命令:

删除历史docker

$ sudo 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 remove -y docker*

查看可用版本的 Docker-ce:

yum list docker-ce --showduplicates | sort -r

更新yum包索引

yum makecache fast

安装指定版本的docker-ce:

sudo yum install -y docker-ce-17.03.2.ce-1.el7.centos 

报错:如果在安装指定版本的docker时显示需要安装指定版本的docker-ce-selinux依赖包,请安装:

yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm 

docker升级

# Install Docker CE
## Set up the repository
### Install required packages.
yum install yum-utils device-mapper-persistent-data lvm2

### Add Docker repository.
yum-config-manager --add-repo \
  https://download.docker.com/linux/centos/docker-ce.repo

## Install Docker CE.
yum update && yum install \
  containerd.io-1.2.10 \
  docker-ce-19.03.4 \
  docker-ce-cli-19.03.4

## Create /etc/docker directory.
mkdir /etc/docker

# Setup daemon.
cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d

# Restart Docker
systemctl daemon-reload
systemctl restart docker
修改docker存储目录
把用户加到docker组中


dockerd代理

在执行docker pull时,是由守护进程dockerd来执行。因此,代理需要配在dockerd的环境中。而这个环境,则是受systemd所管控,因此实际是systemd的配置。

sudo mkdir -p /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/proxy.conf

在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
Container代理

在容器运行阶段,如果需要代理上网,则需要配置~/.docker/config.json。以下配置,只在Docker 17.07及以上版本生效。

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://proxy.example.com:8080",
     "httpsProxy": "http://proxy.example.com:8080",
     "noProxy": "localhost,127.0.0.1,.example.com"
   }
 }
}

这个是用户级的配置,除了proxies,docker login等相关信息也会在其中。而且还可以配置信息展示的格式、插件参数等。

此外,容器的网络代理,也可以直接在其运行时通过-e注入http_proxy等环境变量。这两种方法分别适合不同场景。config.json非常方便,默认在所有配置修改后启动的容器生效,适合个人开发环境。在CI/CD的自动构建环境、或者实际上线运行的环境中,这种方法就不太合适,用-e注入这种显式配置会更好,减轻对构建、部署环境的依赖。当然,在这些环境中,最好用良好的设计避免配置代理上网。

docker build代理

虽然docker build的本质,也是启动一个容器,但是环境会略有不同,用户级配置无效。在构建时,需要注入http_proxy等参数。

docker build . \
    --build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \
    --build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \
    --build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
    -t your/image:tag

注意:无论是docker run还是docker build,默认是网络隔绝的。如果代理使用的是localhost:3128这类,则会无效。这类仅限本地的代理,必须加上–network host才能正常使用。而一般则需要配置代理的外部IP,而且代理本身要开启gateway模式。



安装docker-ce-19.03.8
# 设置 yum repository
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装并启动 docker
yum install -y docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io
systemctl enable docker
systemctl start docker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值