centos7纯净版(最小安装)部署docker-ce详情/配置代理
安装完纯净版centos7之后查看本机ip#ip addr至于为什么用ip addr 而不用ifconfig请看我之前的文章有所介绍
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
更多推荐
所有评论(0)