docker镜像管理

搜索镜像

Usage: docker search [OPTIONS] TERM  //搜索Docker Hub官方注册服务器中的镜像

ds@ds:~$ sudo docker search --filter=is-official=true nginx  //从Docker Hub中查找nginx官方镜像,一个条件

ds@ds:~$ docker search --filter=is-official=true --filter=stars=100 httpd  //stars=100(收藏数),多个条件组合

ds@ds:~$ docker search lamp

 

获取镜像

Usage: docker image pull [OPTIONS] NAME[:TAG|@DIGEST]

ds@ds:~$ sudo docker image pull ubuntu:18.04

上面拉取的镜像,没有指定注册服务器,默认为docker官方注册服务器-->hub.docker.com。因为不同的注册服务器中仓库存在重名的问题,故,拉取镜像时标准写法如下:

ds@ds:~$ sudo docker search --filter=is-official=true hub.docker.com/unbuntu:18.04

 

查看镜像信息

ds@ds:~$ docker image ls -a    //列出镜像基本信息

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

ubuntu              18.04               93fd78260bd1        2 days ago          86.2MB

ds@ds:~$ docker image inspect ubuntu:18.04  //查看镜像详细信息,输出包括镜像id,仓库标签,架构等等信息。

(上述命令)返回的是JSON格式,故如果只需要知道其中某项可用-f,--format来指定,如:

ds@ds:~$ docker image inspect --format  {{".Id"}} ubuntu:18.04  

sha256:93fd78260bd1495afb484371928661f63e64be306b7ac48e2d13ce9422dfee26

 

删除和清理镜像

Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]  //删除一个或多个镜像,其中image可以为“镜像:标签”或镜像ID;另,注意区分“docker rm-”->删除容器

ds@ds:~$ docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

myubuntu            18.04               93fd78260bd1        2 days ago          86.2MB

ds@ds:~$ docker rmi myubuntu:18.04

Untagged: myubuntu:18.04

 

ds@ds:~$ docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

centos              2018-11-22          604d3f15f7a3        5 hours ago         389MB

ds@ds:~$ docker image rmi 604d3f15f7a3  

Error response from daemon: conflict: unable to delete 604d3f15f7a3 (must be forced) - image is being used by stopped container e65a71a97a2d

ds@ds:~$ docker image rmi -f 604d3f15f7a3

Untagged: centos:2018-11-22

Deleted: sha256:604d3f15f7a312a2d7ed294201cffea5178e1a4165d891fad7a1e6b9e71dfc98

 

Docker使用一段时间后,系统中可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像,可通过docker image prune来进行清理

ds@ds:~$ docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

ubuntu              18.04               93fd78260bd1        2 days ago          86.2MB

nginx               latest              e81eb098537d        5 days ago          109MB

centos              latest              75835a67d134        6 weeks ago         200MB

ds@ds:~$ docker image  prune

WARNING! This will remove all dangling images.

Are you sure you want to continue? [y/N] y

Total reclaimed space: 0B

ds@ds:~$ docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

ubuntu              18.04               93fd78260bd1        2 days ago          86.2MB

nginx               latest              e81eb098537d        5 days ago          109MB

centos              latest              75835a67d134        6 weeks ago         200MB

 

创建镜像

1)基于已有容器创建

ds@docker:~$ docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

centos              latest              75835a67d134        6 weeks ago         200MB

 

ds@docker:~$ sudo docker container run -it centos  //运行容器

[root@4f9f29db9760 /]# yum install -y vim  //给原容器带来点变化

ds@docker:~$ sudo docker commit -a "Dysun_Liu" -m "Added vim" 9c mycentos:0.1  //使用commit基于现有容器创建镜像

sha256:bafd2de3415d18fccac8eed2b543f3f291ff0407bcc8ff73c2b479b57736a9cd  //新镜像ID

 

ds@docker:~$ docker image ls  //查看一下,确认新镜像的确存在

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

mycentos            0.1                 bafd2de3415d        2 minutes ago       355MB

centos              latest              75835a67d134        6 weeks ago         200MB

 

ds@docker:~$ sudo docker container run -it mycentos:0.1

[root@813173c372ad /]# which vim

/usr/bin/vim

 

2)基于本地模板导入

使用OpenVZ提供的模板或者使用已导出的镜像模板。

 

3)基于Dockerfile创建

基于Debian:stretch-slim镜像构建一个Python3的环境:

ds@docker:/docker_file$ docker image ls  //需要用到Debian,请自行下载

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

debian              stretch-slim        e9e49a465deb        6 days ago          55.3MB

 

ds@docker:/docker_file$ pwd

/docker_file

ds@docker:/docker_file$ cat dockerfile    //编写dockerfile

FROM debian:stretch-slim

LABEL version='1.0' maintainer="Dysun Liu <Dysun_liu@163.com>"

RUN apt-get update && apt-get install -y python3 && apt-get clean && rm -fr /var/lib/apt/lists/*

 

ds@docker:/docker_file$ sudo docker image build  -t python:3 .      //docker...build注意别落了最后的“.”

...  //耐心等待

Successfully built 8ef2d5214def

Successfully tagged python:3    //成功

 

ds@docker:/docker_file$ docker image ls  //查看确认新镜像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

python              3                   8ef2d5214def        4 minutes ago       95.1MB

debian              stretch-slim        e9e49a465deb        6 days ago          55.3MB

 

ds@docker:/docker_file$ sudo docker container run -it python:3  //运行一下,试试能不能输出“Hello,World”

root@0c2009fd4dcf:/# python3

Python 3.5.3 (default, Sep 27 2018, 17:25:39)

[GCC 6.3.0 20170516] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> print('Hello,world!')

Hello,world!

 

导出和导入镜像

上传镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值