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
列出下载的镜像
root@debian:~# 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
删除了一个快捷方式,
root@debian:~# docker rmi ubuntu:16.04
Untagged: ubuntu:16.04
root@debian:~# 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
镜像被真正删除了
root@debian:~# 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
root@debian:~# 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
root@debian:~# docker rmi c5
Error response from daemon: conflict: unable to delete c5f1cf30c96b (must be forced) - image is being used by stopped container a80c570db9bb
root@debian:~# 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 查看可以看到一些遗留的问题,
需要再次删除
创建一个镜像
root@debian:~# docker run -ti ubuntu /bin/bash
root@89a17c6a7fb5:/# echo "this is a new">>/root/123.txt
root@89a17c6a7fb5:/#
root@89a17c6a7fb5:/# cat /root/123.txt
this is a new
root@89a17c6a7fb5:/# exit
exit
root@debian:~# docker commit -m "add a new file" -a "123" 89a17c6a7fb5 test
sha256:31b2d73e250187d3639b5b0f893701d7da83dbecaa5dd0f36e43c102fe0e1f7d
root@debian:~# 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