离线安装docker
1、将制作好的离线安装包 docker.zip 压缩包解压到任意目录下:
unzip docker.zip -d /home
2、移除旧的版本:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
进入到 /etc/目录 将 yum.repos.d 文件修改为 yum.repos.d.bak:
cd /etc/
mv yum.repos.d yum.repos.d.bak
3、在当前目录下创建一个 yum.repos.d 文件夹:
mkdir yum.repos.d
进入yum.repos.d文件夹新建离线源配置文件为 docker-ce.repo:
cd yum.repos.d
vim docker-ce.repo
[Local_docker_yum]
name=Local Docker Yum Repository
baseurl=file:///home/docker
enabled=1
gpgcheck=0
清除缓存
yum clean all
创建缓存
yum makecache
查看构建的本地源
yum repolist
最后执行安装命令
yum install docker-ce
错误:“保护多版本”。
解决方法:
yum install –setopt=protected_multilib=false docker
进度条百分之百 安装完成 !!
进入到 /etc目录 将刚刚更改为yum.repos.d.bake文件目录下的所有文件移动到yum.repos.d目录下
cd /etc
mv yum.repos.d.bak yum.repos.d
在线部署docker
1、移除旧的版本
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 http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
yum makecache fast
查看docker 版本
yum list docker-ce --showduplicates|sort -r
安装 docker 18.06.1-ce 版本
yum install docker-ce-18.06.1.ce -y
启动 Docker 后台服务
systemctl start docker
2、配置docker 开机启动
1、使用ststemctl命令
systemctl enable docker
2、将Docker的docker.service服务移动到系统服务中
cp /usr/lib/systemd/system/docker.service /etc/systemd/system/
systemctl daemon-reload
systemctl restart dockear
重启Docker后,会在/etc/systemd/system/multi-user.target.wants下自动生成符号链接
私有仓库搭建
1、环境相关
- 环境:centos 7
- ip地址:192.168.163.103
- 搭建私有仓库
在 /home 下创建一个文件目录 用来存放未来的docker仓库的镜像
cd /home
mkdir docker_registry
开始创建我们的仓库,首先在102.168.163.103机器上下载registry镜像
docker pull registry
默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录(刚刚创建的/home/docker_registry)挂载到容器内的/var/lib/registry下,如下:
docker run -d -p 5000:5000 --privileged=true -v /home/docker_registry:/var/lib/registry registry
参数说明:
- -v /var/lib/registry :默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,指定本地目录挂载到容器
- –privileged=true :CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误(OSError:[Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary')或者(Received unexpected HTTP status: 500 Internal Server Error)错误
2、配置私有仓库地址
在 /etc/docker/ 目录下创建json文件
{ "insecure-registries":["192.168.163.103:5000"]}
然后重启docker
systemctl enable docker
3、测试
接下来我们就要操作把一个本地镜像push到私有仓库中。首先在192.168.163.103机器下pull一个比较小的镜像来测试 (此处使用的是centos)
docker pull centos
接下来修改一下该镜像的tag,镜像的格式为 镜像仓库IP:端口/镜像名称
docker tag busybox 192.168.163.103:5000/centos
接下来把打了tag的镜像上传到私有仓库。
docker push 192.168.163.103:5000/centos