鏡像是docker運行容器的前提。
獲取鏡像
docker pull ubuntu
當然也可以指定標簽來下載特定版本的某一個鏡像:docker pull ubuntu:14.04
也可以選擇從其他注冊服務器的倉庫下載,如dockerpool社區的鏡像源dl.dockerpool.com下載最新的鏡像:docker pull dl.dockerpool.com:5000/ubuntu
查看鏡像信息
docker images
docker inspect命令可以查看某鏡像的詳細信息
搜尋鏡像
docker search 命令可以搜索遠端倉庫中共享的鏡像
刪除鏡像:docker rmi
當鏡像擁有多個標簽的時候,只是刪除了該鏡像多個標簽中指定的標簽而已
創建鏡像:基于已有鏡像的容器創建、基于本地模板導入、基于Dockerfile創建
如:啟動一個鏡像,并在其中進行修改,然后提交
~~~
docker run -ti ubuntu:14.04 /bin/bash
touch test
exit
docker commit -m "add a new file" -a "Docker qixuan“ imageID test
~~~
順利的話,會產生新創建的鏡像的id信息。
存出和載入鏡像
如:存出本地的Ubuntu:14.04鏡像為文件ubuntu_14.02.tar
~~~
docker save -o ubuntu_14.04.tar ubuntu:14.04
~~~
如從文件ubuntu_14.02.tar導入鏡像到本地鏡像列表
~~~
docker load --input ubuntu_14.02.tar 或 docker load < ubuntu_14.02.tar
~~~
上傳鏡像
用戶上傳本地的test:latest鏡像,可先添加新的標簽user/test:latest,然后用docker push
~~~
docker tag test:latest user/test:latest
docker push user/test:latest
~~~
----------------------------------------------------------------------------------------------------------------------------------
容器是鏡像的一個運行實例。
docker create創建一個容器,這時的容器是處于停止狀態,可使用docker start來啟動它
而docker run 等價于docker create + start
如下的命令啟動一個bash終端,允許用戶進行交互:
~~~
docker run -t -i ubuntu:14.04 /bin/bash 其中-t選項是docker分配一個偽終端并綁定到容器的標準輸入上,-i讓容器的標準輸入保持打開
~~~
如下命令會在后臺運行容器:
~~~
docker run -d ubuntu /bin/hash -c "while true;do echo hello world;sleep 1;done"
~~~
啟動后會返回一個唯一的id,也可通過docker ps來查看容器信息,如果想要獲取容器的輸出信息,可以用docker logs命令:docker los 容器ID
docker stop終止一個運行中的容器
docker ps -a -q 可查看處于終止狀態的容器id
docker attach進入容器
exec命令:docker exec -ti id /bin/bash
docker rm 刪除處于終止狀態的容器 ?-f強行終止并刪除一個運行中的容器;-l刪除容器的連接;-v刪除容器掛載的數據卷
docker export 導出一個已創建的容器到一個文件
docker import導入成為鏡像
----------------------------------------------------------------------------------------------------------------------------
倉庫(Repository)是集中存放鏡像的地方
在企業的生產環境中,則往往需要使用私有倉庫來維護內部鏡像。