title: 2019-6-13 docker 的私服搭建,可视化,问题解决
tags: linux,docker,web
grammar_cjkRuby: true
搭建docker 镜像私服
安装好docker的前提下进行操作:
linux下执行docker pull registry 下拉仓库镜像
之后使用docker run -d -p 5000:5000 -v /lcoalpath/images:/var/lib/registry registry启动镜像
设置将端口5000映射到宿主机5000端口.将仓库的镜像路径映射到宿主机的/localpath/images目录下,后台运行
至此docker的私服已经安装完毕
将镜像上传到私服
将本地的构建好的docker镜像进行标记
docker tag domei ip:5000/domei
push到私服
docker push ip:5000/domei
在将镜像上传的过程中可能会报错:关键字Get https:xx
我们需要对docker的配置文件进行更改
sudo vim /usr/lib/systemd/system/docker.service /ExecStart 在最后面加入 --insecure-registry ip:5000 重启docker systemctl daemon-reload systemctl restart docker 重复上述步骤重新提交镜像
查看镜像
curl -XGET http://ip:5000/v2/_catalog 查看镜像 curl -XGET http://ip:5000/v2/image_name/tags/list 查看镜像列表
下载镜像
docker pull ip:5000/domei
下载的过程中出现:GET https:关键字时配置文件
cd /etc/docker
touc daemon.json
vim daemon.json
补充如下文本
{
"insecure-registries": [
"ip:5000"
]
}
多个私服之间用逗号隔开
然后重新下载镜像
可视化界面的安装
我个人使用的是harbor开源的docker可视化工具
在安装harbor之前我们需要准备的是安装docker-compose
安装过程是:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
其中1.24是版本号
之后开始安装harbor
## 使用线上方式安装(测试,生产建议离线) ## 点击上述链接,选择适合自己的版本进行下载 harbor-offline-installer-v1.8.1.tgz ##解压 ## 进入安装目录执行./install 进行部分镜像的下载以及启动
此过程未更改任何配置文件
测试环境使用ip访问
修改harbor安装目录中的harbor.yml文件
hostname: ip
重启harbor
docker-compose down -v ## 停止
docker-compose up -d ## 启动
web访问
浏览器中使用ip访问
用户名:admin
密码: Harbor12345 ##在harbor.yml文件中harbor_admin_password表示用户密码
界面就不上传了
使用harbor进行镜像私服的管理
首先要登录
docker login ip
报错:
Error response from daemon: Get https://ip/v2/: dial tcp ip:443: connect: connection refused
sudo vim /usr/lib/systemd/system/docker.service
/ExecStart
在最后面加入 --insecure-registry ip:5000
重启docker
systemctl daemon-reload
systemctl restart docker
## 重启harbor
上传镜像
docker tag image ip/xx/imgae
docker push ip/xx/image
如果:
Get https://192.168.0.24/v2/: dial tcp 192.168.0.24:443: connect: connection refused
执行 docker login ip
:q
更改镜像存储位置
harbor.ym data_volume: /datal–> /local_path
docker-compose.yml volumes: /data/* -> /local_path/*