zoukankan      html  css  js  c++  java
  • Docker之镜像操作

    Docker之镜像操作

    1、Docker配置镜像加速

    可以去下面的阿里云上注册账号并登录,就能获取阿里的镜像加速了

    https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    2、Docker导入本地镜像

    有时候我们自己在本地或者其它小伙伴电脑上拷贝了一份镜像,有了这个镜像之后,我们可以把本地的镜像导入,使用docker import 命令。

    例如这里下载了一个 alibaba-rocketmq-3.2.6.tar.gz 镜像文件,使用下列命令导入:

    复制代码
    [root@rocketmq-nameserver4 dev]# cat alibaba-rocketmq-3.2.6.tar.gz | docker import - rocketmq:3.2.6(镜像名自己定义)
    [root@rocketmq-nameserver4 dev]# docker images
    REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
    rocketmq                     3.2.6               53925d1cf9f0        23 seconds ago      14MB
    my/python                    v1                  36b6e288656c        2 days ago          281MB
    my/centos_width_python       v1.0.1              36b6e288656c        2 days ago          281MB
    my/sinatra                   v2                  8ba1d6a3ce4e        2 days ago          453MB
    hello-world                  latest              725dcfab7d63        4 months ago        1.84kB
    复制代码

    可以看到导入完成后,docker为我们生成了一个镜像ID,使用docker images也可以看到我们刚刚从本地导入的镜像。

    注意镜像文件必须是tar.gz类型的文件。

    [root@rocketmq-nameserver4 dev]# docker run -it rocketmq:3.2.6 /bin/bash ##启动导入本地镜像,会报如下异常
    docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory".

    解决方案: 暂时无解,有知道的兄台请在下面留言,在此先谢了。


    3、保存镜像
    我们的镜像做好之后,我们要保存起来,以供备份使用,该怎么做?使用docker save命令,保存镜像到本地。

    [root@rocketmq-nameserver4 dev]# docker save -o rocketmq.tar rocketmq ##-o:指定保存的镜像的名字;rocketmq.tar:保存到本地的镜像名称;rocketmq:镜像名字,通过"docker images"查看
    [root@rocketmq-nameserver4 dev]# ll 


    rocketmq.tar为刚保存的镜像

    4、载入镜像
    我们有了本地的镜像文件,在需要的时候可以使用docker load将本地保存的镜像再次导入docker中。
    docker load --input rocketmq.tar 或 docker load < rocketmq.tar

    5、删除镜像
    有些镜像过时了,我们需要删除。使用如下的命令:docker rmi -f image_id ##-f:表示强制删除镜像;image_id:镜像id

    6、修改镜像名称与标签

    [root@localhost ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    pujh/centos         tomcat-centos       70ff7873d7cd        About an hour ago   612 MB
    docker.io/centos    latest              9f38484d220f        11 days ago         202 MB
    [root@localhost ~]# docker tag 70ff7873d7cd my_centos:tomcat-centos
    [root@localhost ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    my_centos           tomcat-centos       70ff7873d7cd        About an hour ago   612 MB
    pujh/centos         tomcat-centos       70ff7873d7cd        About an hour ago   612 MB
    docker.io/centos    latest              9f38484d220f        11 days ago         202 MB
    
    [root@localhost ~]# docker rmi 70ff7873d7cd
    Error response from daemon: conflict: unable to delete 70ff7873d7cd (cannot be forced) - image is being used by running container 70859e710147
    [root@localhost ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                    NAMES
    70859e710147        70ff                "/bin/sh -c '/root..."   About an hour ago   Up About an hour            0.0.0.0:8090->8080/tcp   dazzling_hopper
    [root@localhost ~]# docker stop 70859e710147 
    [root@localhost ~]# docker rm 70859e710147 
    [root@localhost ~]# docker rmi 70ff7873d7cd
    [root@localhost ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    my_centos           tomcat-centos       70ff7873d7cd        About an hour ago   612 MB
    docker.io/centos    latest              9f38484d220f        11 days ago         202 MB
  • 相关阅读:
    Python学习日记(三) 学习使用dict
    Python学习日记(二) list操作
    Python学习日记(一) String函数使用
    Linux 下查找并删除文件命令
    spring mvc处理静态文件
    集合工具类CollectionUtils、ListUtils、SetUtils、MapUtils探究(转)
    如何选择IO流
    java并发框架Executor介绍
    mybatis如何传入一个list参数
    大规模SOA系统中的分布事务思考
  • 原文地址:https://www.cnblogs.com/xuexian/p/11392544.html
Copyright © 2011-2022 走看看