上傳docker鏡像到hub.docker

首先必須得在hub.docker.com上註冊賬號

如何將鏡像上傳到hub.docker.com  docker pull caixia/ubuntu14.04
docker images
先將本地完善的鏡像打包

docker commit -m "add lnmp environment" -a "Alina" 7aab28da9ee7 caixia/ubuntu14.04:v1

docker images    //可以看到新的鏡像caixia/ubuntu14:04:v1

或者
docker commit <exiting-container> <hub-user>/<repo-name>[:<tag>]
上傳如下
docker push caixia/ubuntu14.04:v1


先更改已有鏡像的標籤
docker tag  7aab28da9ee7(鏡像ID) caixia/ubuntu14.04:v1



構建鏡像的兩種方法:

  • 使用docker commit 命令

  • 使用docker build命令和Dockerfile文件

Dockerfile更搶到、靈活,推薦使用。

一般來說不是真的“創建”新鏡像,而是基於一個已有的基礎鏡像,比如Ubuntu、Fedora等,構建新的鏡像而已。從零構建一個全新的鏡像可參考這篇文章

用commit創建鏡像

創建Docker賬號

共享和發佈鏡像時構建鏡像中重要的環節,可以將鏡像推送到Docker Hub或資金的私有Registry中。首先到https://hub.docker.com/account/signup/ 創建賬號。

bVkViA

郵件激活後,可以測試登錄:

$ sudo docker login

bVkViS

這條命令會完成登錄,並將認證信息報錯起來供後面使用。個人認證信息將報錯到$HOME/ .dockercfg文件中.

用 commit 命令創建鏡像

可以想象是往版本控制系統裏提交變更:首先創建一個容器,並在容器裏做修改,就行修改代碼一樣,最後在講修改提交爲一個新鏡像。

創建一個新容器命令:

$ sudo docker run -i -t ubuntu /bin/bash

我用之前創建好的aoct容器:

$ sudo docker start aoct$ sudo docker attach aoct

bVkVul

安裝Apache:

root@614122c0aabb:/# apt-get -yqq update...
root@614122c0aabb:/# apt-get -y install apache2...

bVkVUN

想把這個容器作爲一個Web服務器來運行,所以要把它當前狀態保存下來,就不必每次都創建一個新容器並再次安裝Apache。

所以先用exit命令退出容器,再運行docker commit命令:

$ sudo docker commit 614122c0aabb aoct/apache2

bVkVUP

命令中,指定了要提交的修改過的容器的ID、目標鏡像倉庫、鏡像名。commit提交的知識創建容器的鏡像與容器的當前狀態之間的差異部分,很輕量。

查看新創建的鏡像:

$ sudo docker images aoct/apache2

bVkVUQ

也可以像git一樣,在提交鏡像時指定更多信息來描述所做的修改:

$ sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2

bVkVUS

上面代碼,用-m指定行創建的鏡像的提交信息。--author指定鏡像作者,接着是容器ID、目標鏡像倉庫、鏡像名。

使用docker inspect命令查看新創建的鏡像的詳細信息:

$ sudo docker inspect aoct/apache2

bVkVVC

使用docker run命令從剛創建的新鏡像運行一個容器:

$ sudo docker run -t -i aoct/apache2 /bin/bash

bVkVVD



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章