Docker构建自己的镜像

前言

有时候,生产环境中的所需的镜像在hub上找不到,需要我们自己去自定义好这个镜像,然后将这个镜像保存在自己的hub上,便于以后的pull。所以这篇主要来讲解一下然后构建自己的镜像,然后上传至私有hub。

Docker commit

docker commit可以帮助我们在本地docker仓库中生成自定义镜像。

首先启动某个容器,然后在该容器上部署上自己的应用构建好自定义容器。

1
$ docker run -it unbuntu /bin/bash

在该容器上创建一个文件夹,表示对该容器的一次构建。

1
$ mdkir test1

你想输入的替代文字

退出该容器后,可以使用docker ps -a查看所有的容器。

1
$ docker ps -a

你想输入的替代文字

可以看到容器已经退出运行了,不过该容器还可以转成一个镜像。使用commit命令。格式如下:

1
docker commit <container ID> <new image name>
1
$ docker commit 78f2a newbuntu

可以使用docker images看到自定义的镜像已经生成了。

你想输入的替代文字

至此,我们已经在本地仓库中构建好了自己的镜像,下面使用docker push上传至私有Hub上。

Docker push

要上传至私有hub上,首先要使用docker login登录上docker hub。所以你需要先去docker的官网注册一个账号,与github类似。

使用dcoker login登录。

你想输入的替代文字

在使用docker push之前,需要为你的本地仓库中的镜像重命名,因为上传至私有hub上,对镜像的命名是有一定规范的,即格式为usernmae/imgaename:tag,所以先使用docker tag对镜像重命名。

1
$ docker tag newbuntu:latest callmejiagu/newubuntu:v1

可以看到本地镜像库中有一个新的命名镜像。

你想输入的替代文字

使用docker push <image name>进行上传。

1
$ docker push callmejiagu/newubuntu

你想输入的替代文字

在自己的私有hub上可以看到,镜像已经上传进来。

你想输入的替代文字