Docker基础

获取镜像

docker search XXX (查看远端库的镜像)

docker pull [选项] [Docker Registry] 地址[:端口号]/]仓库名[:标签]
示例:  docker pull Ubuntu:18.04
Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub(docker.io)。
仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。
对于 Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像

运行镜像

docker run -it --rm ubuntu:18.04 bash

-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。
--rm:这个参数是说容器退出后随之将其删除。使用 --rm 可以避免浪费空间。

Docker新建并启动容器
新建容器的前提得有镜像,先查看镜像
docker image ls 
docker run –it ubuntu:18.04 /bin/bash

Docker守护态运行
docker run ubuntu:18.04 /bin/sh "while true; do echo hello world; sleep 1; done" 立即执行

docker run –d ubuntu:18.04 /bin/sh "while true; do echo hello world; sleep 1; done" 后台运行

docker container ls 查看容器的运行
docker container logs [container ID or NAMES] 获取容器的输出信息

进入运行的容器
docker run -dit ubuntu 
docker ps –a 
docker exec –it 容器 bash (用exec进入之后退出后,这个容器仍然在运行)
Exit 退出容器 
Ctrl + D 退出容器

列出镜像

docker image ls

仓库名		 标签	   镜像ID		  创建时间		大小
REPOSITORY   TAG      IMAGE ID        CREATED       SIZE
redis       latest   5f515359c7f8    5 days ago    183 MB
nginx       latest   05a60462f8ba    5 days ago    181 MB
mongo        3.2     fe9198c04d62    5 days ago    342 MB
<none>      <none>   00285df0df87    5 days ago    342 MB
ubuntu      18.04    f753707788c5    4 weeks ago   127 MB
ubuntu      atest    f753707788c5    4 weeks ago   127 MB
说明:镜像ID是镜像的唯一标识,一个镜像可以对应多个标签(譬如上面的Ubuntu)
所以它们是同一个镜像
补充:
列出中间层镜像:docker image ls –a
列出部分镜像:docker image ls Ubuntu 
			  docker image ls Ubuntu:18.04
查找在XXX之后建立的镜像
docker image ls –f since= XXX
查找在XXX之前建立的镜像
docker image ls –f before= XXX
查找定义了LABEL的镜像
docker image ls –f label=com.example.version=0.1
以特定格式显示 (-q只显示ID列表)
docker image ls –q

虚悬镜像

<none>    <none>    00285df0df87    5 days ago      342 MB

 - 这个镜像原本是有镜像名和标签的,原来为 mongo:3.2
 - 随着官方镜像维护,发布了新版本后,重新 docker pull mongo:3.2 时,mongo:3.2 这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了<none>。    
 - 由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为<none> 的镜像。 
 - 所以这类无标签镜像也被称为虚悬镜像(dangling image)

这个命令可以显示虚悬镜像
docker image ls -f dangling=true
一般来说,虚悬镜像失去了存在的价值,可以删除
docker image prune

占用磁盘空间清理

docker system  df

TYPE          TOTAL   ACTIVE     SIZE      RECLAIMABLE
Images         24        0      1.992GB     1.992GB (100%)
Containers      1        0      62.82MB     62.82MB (100%)
Local Volumes   9        0      652.2MB     652.2MB (100%)
Build Cache                       0B         0B

说明:第一行指的是Docker镜像占用的空间, 
第二行指的是Docker容器占用的空间,
第三行指的是Docker数据卷占用的空间,
最后一列指的是可清理的空间大小

docker system prune
可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,无tag的镜像
docker system prune –a
清理得更加彻底,可以将没有容器使用Docker镜像都删掉

注意:这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了

删除本地镜像

docker image rm [选项] <镜像1> [<镜像2> ...]

docker image ls 

REPOSITORY     TAG        IMAGE ID       CREATED             SIZE
centos        latest    0584b3d2cf6d   3 weeks ago         196.5 MB
redis         alpine    501ad78535f0   3 weeks ago         21.03 MB
docker        latest    cf693ec9b5c7   3 weeks ago         105.1 MB
nginx         latest    e43d811ce2f4   5 weeks ago         181.5 MB

1.	用ID删除镜像
docker image rm 501
可以用长ID也可以用短ID,只要可以区分就可以

2.	用镜像名删除镜像
docker image rm centos

暂停启动容器

docker stop 容器
docker start 容器
docker restart 容器
docker ps –a 查看容器 

导出与导入容器

导出容器:

docker ps –a 查看后台运行的容器
CONTAINER ID     IMAGE     COMMAND     CREATED     STATUS    PORTS   NAMES
7691a814  ubuntu:18.04    "/bin/bash"  36 hours ago   Exited (0) 21 hours ago      test
docker export 7691a814 >Ubuntu.tar  导出容器快照到本地文件

导入容器

cat Ubuntu.tar | docker import – test/ubuntu:v1.o
docker image ls –a
REPOSITORY      TAG      IMAGE ID      CREATED     VIRTUAL SIZE
test/ubuntu    v1.0     9d37a6082e97  About a minute ago   171.3 MB

通过指定URL或者某个目录导入
docker import http://example.com/exampleimage.tgz example/imagerepo

注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。
这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。
此外,从容器快照文件导入时可以重新指定标签等元数据信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值