一、前言

最近项目频繁用到docker,也是将自己的学习记录。

Dockerfile 创建完成后,可以使用 docker build 命令根据 Dockerfile 构建一个镜像

一、创建一个Dockerfile

docker 查看配置远程下载镜像地址 docker查看远程仓库_docker 查看配置远程下载镜像地址

三、执行命令构建镜像

docker build -t  test:v1.0 .

注意最后有个点,默认使用 “上下文目录(Context)下的名为Dockerfile 的文件作为 Dockerfile”,

我这条命令的点表示当前目录下的Dockerfil

docker 查看配置远程下载镜像地址 docker查看远程仓库_docker 查看配置远程下载镜像地址_02


-t test: v1.0 给新构建的镜像取名为 test, 并设定版本为 v1.0 。

四、docker images 查看是否构建成功

docker images

docker build: 用 Dockerfile 构建镜像的命令关键词。
[OPTIONS] : 命令选项,常用的指令包括 -t 指定镜像的名字,
-f 显示指定构建镜像的 Dockerfile 文件(Dockerfile 可不在当前路径下),
如果不使用 -f,则默认将上下文路径下的名为 Dockerfile 的文件认为是构建镜像的 “Dockerfile” 。
上下文路径|URL: 指定构建镜像的上下文的路径,构建镜像的过程中,可以且只可以引用上下文中的任何文件 。

五、镜像上传至远程dockerhub仓库

去docker hub注册

https://hub.docker.com/ 注册下 得到docker id和密码

并创建仓库名称:

docker 查看配置远程下载镜像地址 docker查看远程仓库_java_03

服务器登录docker hub仓库

docker login

根据提示输入账户和密码

docker 查看配置远程下载镜像地址 docker查看远程仓库_docker_04


登录成功提示:Login Succeeded

推送到docker hub仓库
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

docker push [OPTIONS] 本地镜像名[:TAG]

OPTIONS说明:

–disable-content-trust :忽略镜像的校验,默认开启

push镜像

docker 查看配置远程下载镜像地址 docker查看远程仓库_git_05


将上图镜像用命令推送到dockerhub仓库:

命令:

(前提是登录成功)

docker push  gcr.io/kaniko-project/executor:debug-v0.12.0

但是呢出现以下问题:

unauthorized: You don’t have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication

docker 查看配置远程下载镜像地址 docker查看远程仓库_github_06

看了网上的经验,原来是tag 镜像的时候,要加上自己docker hub 的用户名:

于是我们重新对这个镜像打tag

docker 查看配置远程下载镜像地址 docker查看远程仓库_github_07

重新push打好的镜像,这次成功了。

docker 查看配置远程下载镜像地址 docker查看远程仓库_docker 查看配置远程下载镜像地址_08


去docker检查以下是否存在!上传成功

docker 查看配置远程下载镜像地址 docker查看远程仓库_docker_09