基础docker相关文件安装:
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
配置repository
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
卸载ce
yum remove docker-ce
卸载后images,containers,volumes,configuration files 是不能自动删除的,为了删除all images,containers,and volumes,请执行如下命令:
rm -rf /var/lib/docker
docker-compose安装:
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
yum install bash-completion
curl -L https://raw.githubusercontent.com/docker/compose/1.16.1/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
重新登陆后就生效了
测试:docker-compose --version
harbor搭建:
wget -P /usr/loca/src/ https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-online-installer-v1.2.0.tgz
https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz
安装:
# cd /usr/local/src/
# tar zxf harbor-online-installer-v1.2.0.tgz -C /usr/local/
# cd /usr/local/harbor/
配置修改:
/usr/local/harbor/harbor.cfg
vim /usr/local/harbor/harbor.cfg
hostname = rgs.unixfbi.com
#邮箱配置
email_server = smtp.qq.com
email_server_port = 25
email_username = unixfbi@unixfbi.com
email_password =12345678
email_from = UnixFBI <unixfbi@unixfbi.com>
email_ssl = false
#禁止用户注册
self_registration = off
#设置只有管理员可以创建项目
project_creation_restriction = adminonly
执行安装脚本:
/usr/local/harbor/install.sh
启动Harbor
# docker-compose start
停止Harbor
# docker-comose stop
重启Harbor
# docker-compose restart
测试:
在浏览器输入rgs.unixfbi.com,因为我配置的域名为rgs.unixfbi.com。请大家根据自己的配置情况输入访问的域名;
默认账号密码: admin / Harbor12345 登录后修改密码
1.修改各docker client配置
# vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry rgs.unixfbi.com
增加 --insecure-registry rgs.unixfbi.com 即可。
重启docker:
# systemctl daemon-reload
# systemctl restart docker
或者
创建/etc/docker/daemon.json文件,在文件中指定仓库地址
# cat > /etc/docker/daemon.json << EOF
{ "insecure-registries":["rgs.unixfbi.com"] }
EOF
然后重启docker就可以。
# systemctl restart docker
这样设置完成后,就不会提示我们使用https的错误了。
2.创建Dockerfile
# vim Dockerfile
FROM centos:centos7.1.1503
ENV TZ "Asia/Shanghai"
3.创建镜像
# docker build -t rgs.unixfbi.com/library/centos7.1:0.1 .
4.把镜像push到Harbor
# docker login rgs.unixfbi.com
# docker push rgs.unixfbi.com/library/centos7.1:0.1
如果不是自己创建的镜像,记得先执行 docker tags 给镜像做tag
例如:
# docker pull busybox
# docker tag busybox:latest rgs.unixfbi.com/library/busybox:latest
# docker push rgs.unixfbi.com/library/busybox:latest
5.登录web页面查看镜像
6.pull镜像
从别的机器上拉一下镜像
# docker rmi -f $(docker images -q -a )
# docker pull rgs.unixfbi.com/library/centos7.1:0.1
0.1: Pulling from library/centos7.1
07618ba636d9: Pull complete
Digest: sha256:7f398052ae0e93ddf96ba476185c7f436b15abd27acd848a24b88ede4bb3c322
Status: Downloaded newer image for rgs.unixfbi.com/library/centos7.1:0.1
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rgs.unixfbi.com/library/centos7.1 0.1 6c849613a995 5 hours ago 212MB
删除harbor.cfg 配置文件中的内容 harbor脚本中有点问题,需要将hostname这行原来的内容删除再做配置。不然无法识别你配置的hostname,及时注释也不行
harbor 重新启动
docker-compose down
./prepare
docker-compose up –d
docker 配置文件修改重新载入
systemctl daemon-reload
systemctl restart docker
修改各docker service
vi /lib/systemd/system/docker.service
test/Test1234
推送过程
先标记:
docker tag hello-world:latest 192.168.71.129/library/hello-world:latest
再推送:
docker push 192.168.71.129/library/hello-world:latest
效果图:
推送成功的效果图