1.基础环境
- win/mac/linux
- 装有Docker
- 私服 Harbor
Docker
Docker中文站
Docker官方站
下载并安装Docker
Harbor
Harbor GitHub
Harbor 官方地址
下载并安装 Harbor (测试的话 推荐用Docker镜像来启动Harbor 减少环境问题)
2.配置流程
登录Harbor
启动后 访问 Harbor 的页面
登录进入
进入后显示
记住这几个关键信息(每个人不一样):地址(172.16.1.77)、账号(xxxxx)、密码(xxxxxx)
配置Docker
打开Docker的设置
(非可视化的Docker时 一般为 /etc/docker/daemon.json)
修改配置文件
配置私服地址 加入 insecure-registries
下面是我的配置 参考
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"debug": true,
"experimental": true,
"features": {
"buildkit": false
},
"insecure-registries": [
"172.16.1.77"
]
}
保存后并重启docker
配置连接
配置好私服后 需要让docker登录到私服中
打开Shell执行
docker login 172.16.1.77
提示输入账号密码 即可显示登录成功
3.操作流程
下载镜像
随机下载一个Docker镜像
docker pull nginx
这边下载完的结果:
➜ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
934ce60d1040: Pull complete
238b470e100d: Pull complete
fd4ff90344fc: Pull complete
7be7509b8147: Pull complete
fc07d3e6158f: Pull complete
d44fa61c1ffa: Pull complete
Digest: sha256:b8f2383a95879e1ae064940d9a200f67a6c79e710ed82ac42263397367e7cc4e
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
~ took 25.6s
打包镜像
(也可以用刚才下载镜像直接推送至私服Harbor 这里是假设我们修改了一些东西 或者有自己的镜像)
通过 Dockerfile 打包一个新的Nginx镜像
然后推送至Harbor中
新建一个文件 Dockerfile
FROM nginx
MAINTAINER wzk
WORKDIR /usr/share/nginx/html
EXPOSE 80
ENTRYPOINT ["nginx", "-g", "daemon off;"]
打包该镜像
docker build -t 172.16.1.77/alibaba-cloud/nginx .
-t 指 tag 打上标签
- 172.16.1.77是harbor的地址
- alibaba-cloud是文件夹(这个随意)
- nginx 是镜像名称
- . 最后有个点 是指当前目录下的 Dockerfile
推送镜像
查看当前镜像
docker images
推送至harbor
docker push 172.16.1.77/alibaba-cloud/nginx
推送完成