前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker入门到精通(一)

Docker入门到精通(一)

作者头像
小土豆Yuki
发布2022-12-01 21:27:34
4310
发布2022-12-01 21:27:34
举报
文章被收录于专栏:洁癖是一只狗洁癖是一只狗

获取镜像

  • 如果不显示指定镜像TAG,则下载最新镜像
代码语言:javascript
复制
$ docker pull ubuntu:14.04
14.04: Pulling from library/ubuntu
2e6e20c8e2e6: Pull complete
0551a797c01d: Pull complete
512123a864da: Pull complete
Digest: sha256:64483f3496c1373bfd55348e88694d1c4d0c9b660dee6bfef5e12f43b9933b30
Status: Downloaded newer image for ubuntu:14.04
docker.io/library/ubuntu:14.04

查看镜像

代码语言:javascript
复制
$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
zookeeper    latest    36c607e7b14d   11 months ago   278MB
rabbitmq     latest    7006a3ccf896   13 months ago   220MB
mysql        5.6       8d06d2d16232   14 months ago   303MB
ubuntu       14.04     13b66b487594   20 months ago   197MB

使用tag命令添加镜像标签

  • 可以看到多了一个镜像,但是和以前的镜像指向的是同一个镜像文件,docker tag命令添加的标签实际上起到了类似链接的作用
代码语言:javascript
复制
$ docker tag rabbitmq:latest myrabbitmq
$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
zookeeper    latest    36c607e7b14d   11 months ago   278MB
myrabbitmq   latest    7006a3ccf896   13 months ago   220MB
rabbitmq     latest    7006a3ccf896   13 months ago   220MB
mysql        5.6       8d06d2d16232   14 months ago   303MB
ubuntu       14.04     13b66b487594   20 months ago   197MB

使用inspect查看详细信息

代码语言:javascript
复制
$ docker inspect ubuntu:14.0 //获取镜像的基本信息
$ docker inspect -f {{.Id}} ubuntu:14.04 //获取镜像属性id的值
sha256:13b66b487594a1f2b75396013bc05d29d9f527852d96c5577cc4f187559875d0

使用history查看镜像历史

代码语言:javascript
复制
$ docker history ubuntu:14.04
IMAGE          CREATED         CREATED BY                                      SIZE      COMMENT
13b66b487594   20 months ago   /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B
<missing>      20 months ago   /bin/sh -c mkdir -p /run/systemd && echo 'do…   7B
<missing>      20 months ago   /bin/sh -c [ -z "$(apt-get indextargets)" ]     0B
<missing>      20 months ago   /bin/sh -c set -xe   && echo '
#!/bin/sh' > /…   195kB
<missing>      20 months ago   /bin/sh -c #(nop) ADD file:276b5d943a4d284f8…   196M

搜索镜像

  • -f 过滤大于指定星级数
代码语言:javascript
复制
$ docker search -f STARS=3  nginx
NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                              Official build of Nginx.                        17746     [OK]
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   182
bitnami/nginx                      Bitnami nginx Docker Image                      143                  [OK]
ubuntu/nginx                       Nginx, a high-performance reverse proxy & we…   69
bitnami/nginx-ingress-controller   Bitnami Docker Image for NGINX Ingress Contr…   22                   [OK]
rancher/nginx-ingress-controller                                                   11
ibmcom/nginx-ingress-controller    Docker Image for IBM Cloud Private-CE (Commu…   4
kasmweb/nginx                      An Nginx image based off nginx:alpine and in…   3
bitnami/nginx-exporter                                                             3
bitnami/nginx-ldap-auth-daemon   
                             

删除镜像

  • -f 强制删除镜像,不推荐,最好删除容器之后在删除镜像
代码语言:javascript
复制
$ docker search -f STARS=3  nginx
NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                              Official build of Nginx.                        17746     [OK]
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   182
bitnami/nginx                      Bitnami nginx Docker Image                      143                  [OK]
ubuntu/nginx                       Nginx, a high-performance reverse proxy & we…   69
bitnami/nginx-ingress-controller   Bitnami Docker Image for NGINX Ingress Contr…   22                   [OK]
rancher/nginx-ingress-controller                                                   11
ibmcom/nginx-ingress-controller    Docker Image for IBM Cloud Private-CE (Commu…   4
kasmweb/nginx                      An Nginx image based off nginx:alpine and in…   3
bitnami/nginx-exporter                                                             3
bitnami/nginx-ldap-auth-daemon                                                     3

创建镜像

  • 基于已有镜像的容器创建
  • 基于本地模板导入
  • 基于Dockerfile创建(后面再说)

基于已有镜像容器创建 docker commit

  • -a 作者信息
  • -c 提交的时候执行Dockerfiler指令,如CMD|ENTRYPOINT|ENV|EXPOSE
  • -m 提交的消息
  • -p 提交时暂停容器运行

首先,运行一个镜像,并在其中进行修改操作,记住容器运行的id:dd6b1a3afc6f 如

代码语言:javascript
复制
$ docker run -it ubuntu:14.04 /bin/bash
root@dd6b1a3afc6f:/# touch test
root@dd6b1a3afc6f:/# exit
exit                                                   

其次,使用docker commit 提交生成新的镜像

代码语言:javascript
复制
$ docker commit -m "a new file" -a "jiepi" dd6b1a3afc6f test:0.1
sha256:a478750ee9fb32f7a91f69516a1a8a73e95eec28d0085c4c59b25ef91ced6140 

最后,查看镜像,发现已经生成新的镜像

代码语言:javascript
复制
$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
test         0.1       a478750ee9fb   8 seconds ago   197MB
zookeeper    latest    36c607e7b14d   11 months ago   278MB
rabbitmq     latest    7006a3ccf896   13 months ago   220MB
mysql        5.6       8d06d2d16232   14 months ago   303MB
ubuntu       14.04     13b66b487594   20 months ago   197MB

基本本地模板导入 docker import

下载一个镜像如centos-6-x86.tar.gz,模板地址如下

代码语言:javascript
复制
http://openvz.org/Download/templates/precreated
代码语言:javascript
复制
-rw-r--r--  1 root root 98954220 Mar 17 17:02 centos-6-x86.tar.gz

使用下面命令导入镜像到本地

代码语言:javascript
复制
cat centos-6-x86.tar.gz | docker import - centos-6-x86-64(名字自己定义)

存出和载入镜像

存出镜像,如果要导出镜像到本地文件,可以使用docker save,这样就可以把该镜像分享给他人

代码语言:javascript
复制
$ docker save -o ubuntu_14.04.tar ubuntu:14.04
$ ls ubuntu_14.04.tar
ubuntu_14.04.tar

载入镜像,使用 docker load 将导出的tar文件,再导入到本地镜像库,如

代码语言:javascript
复制
$ docker load --input ubuntu_14.04.tar
Loaded image: ubuntu:14.04
$ docker load < ubuntu_14.04.tar
Loaded image: ubuntu:14.04

上传镜像

代码语言:javascript
复制
$ docker push user/test:0.1
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 洁癖是一只狗 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档