如果在公司内部使用,建议搭建一个本地的镜像仓库使用,这样比较安全。
镜像仓库容器运行:
首先下载镜像:
docker pull registry
使用命令docker img查看下镜像是不是下载好了
docker img
运行下容器
docker run -d -p 5000:5000 -v e:\MWX:/var/lib/registry --restart=always --name private_registry registry
解释下这个命令的一些参数
-d 后台运行该容器;
-p 5000:5000 容器端口映射到主机端口;(前面的5000是主机端口,后面的5000是容器内的端口);
-v e:\MWX:/var/lib/registry 类似于挂载,将本地文件夹挂载到容器内(镜像存储的文件夹);
--restart=always 重启docker后自动启动该容器;
--name private_registry 重命名该容器(默认是按照镜像的名字来命名容器的);
使用命令查看下容器是否已经起来
docker ps
或
docker ps -a
docker ps这个命令是查看当前所有运行的容器的
docker ps -a这个命令是查看当前所有的容器的
可以看到registry容器已经起来了
起来之后就可以当镜像仓库使用,使用方法和docker官方的仓库有点区别;
首先查看下自己主机的IP地址
ipconfig
查询到之后加上端口5000就是这个仓库的地址;
本地容器(tag后会打成镜像)上传到镜像仓库
首先我们随便找一个镜像,比如官方的ubuntu镜像,拉一个
docker pull ubuntu
运行下这个镜像
docker run ubuntu
我们的demo已经做好了,接下来就是如何使用本地镜像仓库的时候了
首先打个tag
docker tag ubuntu:192.168.0.1:5000/ubuntu
tag就是将其标记为本地镜像,命令格式如下
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
标记好之后使用命令查看镜像是否已经打好了
docker images
上传镜像到本地的仓库,使用命令
docker push 192.168.0.1:5000/ubuntu
不报错就已经将镜像上传到了本地仓库中了。
下载使用本地镜像仓库中的镜像:
首先我们先删下我们刚刚那个demo的本地镜像,模拟下没有这个镜像的用户,再从本地镜像仓库中下载下来;
使用命令查看本地的所有镜像
docker images
使用命令删除该镜像
docker rmi 192.168.0.1:5000/ubuntu
使用命令确认下镜像是否删除
docker images
确认删除后使用命令拉取下本地镜像仓库中的镜像
docker pull 192.168.0.1:5000/ubuntu
拉取完成后使用命令确认下镜像是否拉取成功
docker images
随后使用该镜像的方法和官方拉取的镜像一致。该镜像启动的容器也可以再次打成镜像上传到本地镜像仓库。