docekr创建镜像并推送远程
首先这篇文章是我第一次学习docker时,在学习到将镜像推送到远程时,遇到蛮多问题的,算是卡了我一点时间吧,所以在这里记录一下,便于之后再回来查看。
接着是一些名词的说明:
- container: 容器
- images:镜像
两者的区别,可以参考以下博客:
简单来说两者的关系就是镜像必须运行于容器中。
登录
首先删除一个东西,如果你不执行这一步,可能会遇到下面的报错信息:
denied: requested access to the resource is denied
当然还有一些注意事项,但是这里是第一步:
vim ~/.docker/config.json
将
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "这里的内容进行删除"
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.5 (linux)"
}
}
再来进行登录
docker login
输入你的账号和密码,账号注册的地址:https://hub.docker.com/
创建容器
查看现有容器
docker ps -l
如果有你需要的容器就可以,如果没有,你可以先创建一个容器:
docker run --name $containerName $imageName
其中$containerName
就是你要创建的容器的名字,而$imageName
就是你要使用的镜像。
比如:
docker run local_containerName ubuntu
查看本地所有镜像可以使用
docker images
创建本地镜像
docker commit $containerName $loginUserName/$imagesName
这里的$containerName
就是你要提交的容器,重点在于镜像名,一定要加前缀,前缀就是你注册时的用户名,再来就是分割号:/
,最后就是随便你起的镜像名吧:$imagesName
。
比如:
docker commit lcoal_containerName middleSunshine/commit_test
推送到远程
docker push $loginUserName/$imagesName
到此,就可以创建远程镜像了。
比如
docker push middleSunshine/commit_test
你可以尝试使用
docekr search $loginUserName/$imagesName
来搜索你推送到远程的镜像。