docker(三)docker将本地容器打包镜像并上传

135 阅读2分钟

有了docker容器技术,那我是不是就可以一台服务器,创建多个容器,每个容器是不是就相当于是一台独立的服务器了呢?那我就可以在一台服务器性能允许的情况下创建尽量多的容器来同时运行我的项目,使用一台服务器创建一个项目集群,这个好这个。

 

那我现在有一个小想法,我创建一个容器,在容器中配置好我的项目之后,我想把我的容器打包成一个本地的镜像,我再使用这个镜像创建容器我就不需要再去部署一次了。这不省事多了。

 

有没有这样的命令呢?还真有

 

一:提交运行时容器成为镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

 

实例:

docker commit -a "camellia" -m "myMysql" a404c6c174a2  mymysql:mmll

mmll标签可省略。

 

二:本地镜像推送到远程hub服务器

1:首先需要再hub-stage.docker.com/这里注册一个账号。

 

2:在服务器上登录hub服务器

docker login 根据提示输入账号密码

 

3:推送

docker push myapache:10.1

三:推送到阿里云远程hub服务器

Hub服务器是共有的,推送上去之后,第一次下载,就算我们配置了阿里云的镜像仓库,也是先备份到国内阿里云的hub服务器再执行下载,因此第一次下载的时候是比较慢的。

 

那我们就没有必要上传到hub服务器了,直接上传到阿里云即可。而且,我们的项目一般都是私有的,需要存放到私有仓库中,直接使用稳定的阿里云镜像仓库,也是很方便拉取的。

 

阿里云容器镜像服务控制台访问地址:

cr.console.aliyun.com/

 

我这里只能注册个人实例,企业版是需要花钱的,按提示注册即可。

 

先创建命名空间,再创建仓库,代码源选择本地仓库。创建成功之后,阿里云会给出详细的提示,比hub服务器要详细的多,按照提示操作即可。

 

以上大概就是Docker将本地镜像打包并上传远程服务器的基本内容

 

有好的建议,请在下方输入你的评论。