docker的安裝
官方參考:https://docs.docker.com/engine/installation/linux/debian/#debian-jessie-80-64-bit
檢視核心版本
uname -r
debian系統核心版本要大于3.10,否則有些功能會不适用
删除以前的包,Purge any older repositories.
apt-get purge lxc-docker*
apt-get purge docker.io*
apt-get update
apt-get install apt-transport-https ca-certificates
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
vi /etc/apt/sources.list.d/docker.list
deb https://apt.dockerproject.org/repo debian-jessie main
###看你的系統版本是哪一個
deb https://apt.dockerproject.org/repo debian-wheezy main
apt-get update
apt-cache policy docker-engine
apt-get update
apt-get install docker-engine
service docker start
拉取鏡像
docker pull ubuntu
docker pull debian
docker pull centos
###什麼都不加 表示拉取最新的鏡像;上面的相當于
docker pull registry.hub.docker.com/ubuntu:latest
docker pull registry.hub.docker.com/debian:latest
docker pull registry.hub.docker.com/centos:latest
還可以從其他地方拉取鏡像
docker pull dl.dockerpool.com:5000/ubuntu
也可以制定版本号 docker pull ubuntu:16.04
列出下載下傳的鏡像
[email protected]:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 c5f1cf30c96b 2 days ago 120.8 MB
ubuntu latest c5f1cf30c96b 2 days ago 120.8 MB
ubuntu 12.04 2bffcdf4b693 2 days ago 138.5 MB
debian latest bb5d89f9b6cb 2 days ago 125.1 MB
//上面latest和16.04 的ID号是一樣的,說明是同一個鏡像,這兩個标簽名隻不過是兩個快捷方式而已
REPOSITORY :來自哪個倉庫
TAG :鏡像的标簽資訊
IMAGE ID :鏡像的ID号(唯一)
CREATED :建立時間
SIZE :鏡像大小
使用docker inspect id 可以檢視 鏡像的資訊,這裡的id 好可以簡寫 隻寫前面幾位數字
docker search ubuntu
docker search
删除鏡像
docker rmi ubuntu:16.04
删除了一個快捷方式,
[email protected]:~# docker rmi ubuntu:16.04
Untagged: ubuntu:16.04
[email protected]:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest c5f1cf30c96b 2 days ago 120.8 MB
debian latest bb5d89f9b6cb 2 days ago 125.1 MB
docker rmi ubuntu:12.04
鏡像被真正删除了
[email protected]:~# docker rmi ubuntu:12.04
Untagged: ubuntu:12.04
Deleted: sha256:2bffcdf4b69366f80dffaaa3f43ccca565b83d796a8127175648b39ce52adc58
Deleted: sha256:703758ffa331980b7c11fbca1db4813374a3b7f2778e591ba992b795b9315c35
Deleted: sha256:3523b968ef93824bf446a00ce6a9936f8d6d1c987b47c7598f5719c856df76bb
Deleted: sha256:9ff16d8b3bd1d2a3c31eeb96b1087608ee68eace4cf31d8c5422e1244b63e6b4
Deleted: sha256:4f8bc2396d6ded3b51005b09880b814d52b9528a78e5eea881e2455cb9c3e2fc
Deleted: sha256:f72a98239aeac82d2e0ccb7772641260daffec80f09fd66d372d440a7e3a02c9
[email protected]:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 c5f1cf30c96b 2 days ago 120.8 MB
ubuntu latest c5f1cf30c96b 2 days ago 120.8 MB
debian latest bb5d89f9b6cb 2 days ago 125.1 MB
注意:當tag和ID号 唯一對應時,删除tag ,就會删除鏡像
如果使用id号删除鏡像 就會删除所有的标簽,然後删除鏡像
docker rmi id
docker run ubuntu echo "test!"
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a80c570db9bb ubuntu "echo test!" 5 seconds ago Exited (0) 4 seconds ago high_albattani
[email protected]:~# docker rmi c5
Error response from daemon: conflict: unable to delete c5f1cf30c96b (must be forced) - image is being used by stopped container a80c570db9bb
[email protected]:~# docker rmi ubuntu
Error response from daemon: conflict: unable to remove repository reference "ubuntu" (must force) - container a80c570db9bb is using its referenced image c5f1cf30c96b
如果有容器在依賴鏡像在運作,是無法删除的
docker rmi -f ubuntu
#這樣做并不好,再次使用docker images 檢視可以看到一些遺留的問題,
需要再次删除
建立一個鏡像
[email protected]:~# docker run -ti ubuntu /bin/bash
[email protected]:/# echo "this is a new">>/root/123.txt
[email protected]:/#
[email protected]:/# cat /root/123.txt
this is a new
[email protected]:/# exit
exit
[email protected]:~# docker commit -m "add a new file" -a "123" 89a17c6a7fb5 test
sha256:31b2d73e250187d3639b5b0f893701d7da83dbecaa5dd0f36e43c102fe0e1f7d
[email protected]:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest 31b2d73e2501 11 seconds ago 120.8 MB
ubuntu latest c5f1cf30c96b 2 days ago 120.8 MB
debian latest bb5d89f9b6cb 2 days ago 125.1 MB
可以看到建立了另外的一個鏡像
儲存鏡像
docker save -o test.tar test