美文网首页
docker基础:镜像,容器命令(三)

docker基础:镜像,容器命令(三)

作者: 简陌刀丶阿吉 | 来源:发表于2017-06-08 18:00 被阅读0次

    一、镜像命令
    在docker基础:命令详解(二)中已经介绍了如何登录dockerhub及私服,下面进行镜像的命令的学习。
    1、镜像
    先说一下镜像和容器的关系,镜像类似于一个母板,在公网中进行拉取创建。容器相当于母板复制出来的产品,每个产品有不同的编号,端口号等。也就是说现有镜像,再有容器。有人会问了,没有镜像,容器就不能运行吗?不是的。当创建一个容器时,如果没有镜像,那么就会根据你给的路径自动去下载镜像,然后生成容器,默认是从共网上下载。

    2、拉取镜像:docker pull 镜像名
          拉取镜像之前,先要明确自己需要什么镜像,知道镜像有哪些版本,我需要两个镜像,tomcat和mysql。
          可以看到有很多镜像,我在这里只是用官网镜像
    
    Paste_Image.png Paste_Image.png
     拉取tomcat镜像:docker pull tomcat
    
    Paste_Image.png
      拉取mysql镜像:docker pull mysql
    
    Paste_Image.png
    3、查看镜像:docker images 
              能看到我已经下载了两个镜像。
    
    Paste_Image.png
    4、修改镜像tag:docker tag 镜像名/镜像ID  自定义镜像名:自定义tag名
          docker tag tomcat tomcat-test:tomcat7  创建出一个新的tomcat镜像  tag是自定义的
    
    Paste_Image.png
           上面的图片中,大家可能注意到了,有两个id相同的镜像,这样就有问题了,删除的时候怎么处理?
    5、删除镜像:docker rmi 镜像ID/镜像名:tag名
                  -f 强制删除,即使镜像被占用。
                  删除多个镜像:docker rmi A B C
    
    Paste_Image.png
    6、构建镜像:暂时不做。
    
    7、构建镜像方式2:dockerfile文件构建。
          
    8、查看指定镜像的历史信息:docker history 镜像id
    9、将镜像推送到远程仓库,默认是dockerhub:docker push 镜像id
    10、docker image 的命令:
            build Build an image from a Dockerfile
            构建    构建一个镜像从一个dockerfile
             history Show the history of an image
            历史    显示镜像的历史。
            import Import the contents from a tarball to create a filesystem image
            导入   过压缩包制作镜像
            inspect Display detailed information on one or more images
            检查   显示一个或多个镜像的详细信息。
            load Load an image from a tar archive or STDIN
            加载   将一个镜像save成压缩包后,在用load命令加载成一个镜像
            例如:docker load -i/<  /存放镜像的路径/镜像.tar
            ls List images
            ls    列出镜像
            prune Remove unused images
            删除   删除未使用的镜像
            pull Pull an image or a repository from a registry
            从注册表中拉出镜像或存储库。
            push Push an image or a repository to a registry
            将镜像或存储库推入注册表
            rm Remove one or more images
            删除 一个或多个图像
            save Save one or more images to a tar archive (streamed to STDOUT by default)
            保存一个或多个图像到一个tar归档文件(流到stdout默认),可以指定到某个文件下
            例如:docker save 镜像名:tag -o /需要存放镜像的路径/定义一个名字.tar  
            tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
            标签创建一个标签target_image指source_image
    

    二、容器命令
    1、查看容器的命令: docker ps -a
    -a, --all Show all containers (default shows just running)
    - -所有显示所有容器(默认显示刚刚运行)
    -f, --filter filter Filter output based on conditions provided
    基于滤波器提供的滤波器滤波器输出条件
    --format string Pretty-print containers using a Go template
    使用滚动模板格式化字符串漂亮的打印容器
    --help Print usage
    ——帮助打印使用
    -n, --last int Show n last created containers (includes all states) (default -1)
    -最后一个int显示上次创建的容器(包括所有状态)(默认值1)
    -l, --latest Show the latest created container (includes all states)
    最新显示的最新创建的容器(包括所有国家)
    --no-trunc Don't truncate output
    ——NO TRUNC不截断输出
    -q, --quiet Only display numeric IDs
    只显示容器ID
    -s, --size Display total file sizes
    大小 显示总文件大小
    2、最新创建的容器(最后启动的):-l
    只查看容器的id:-q
    显示容器的大小:-s
    3、删除容器:docker rm 容器id/容器名
    批量删除:docker rm 容器id/容器名 容器id/容器名 容器id/容器名
    4、启动已经创建的容器:docker start 容器id/容器名
    5、重新启动容器:docker restart 容器id/容器名
    6、停止容器:docker stop 容器id/容器名
    7、后台创建容器: docker run --name (自定义容器名) -d -p (访问端口:映射端口) 镜像id
    例:创建一个mysql的容器,用户名root,密码是root
    docker run --name mysql -d -p 53306:3306 -e MYSQL_ROOT_PASSWORD=root
    8、可操作容器创建:docker run --name (自定义容器名) -it -p (访问端口:映射端口) 镜像id //bin/bash
    9、容器与容器之间的连接:--link 连接的容器:容器,例如:--link tomcat:mysql ,这样tomcat就能访问mysql了。

      遇到的问题:
        [root@master ~]# docker run --name registry_server -d -p 5000:5000 
         WARNING: IPv4 forwarding is disabled. Networking will not work.
       解决方案:
          # vi /etc/sysctl.conf
          添加如下代码:
              net.ipv4.ip_forward=1
    
          重启network服务
          # systemctl restart network
    
          查看是否修改成功
          # sysctl net.ipv4.ip_forward
          如果返回为“net.ipv4.ip_forward = 1”则表示成功了
    
    10、容器创建之后,再次进入容器:docker  container attach 容器id(有些镜像进不去,回车后没有反映说明该容器不能进入ctrl+c强制退出后容器会停止运行)(现在已经不建议是用了)
    11、操作容器,不进入:docker  container exec 容器id 操作命令(ls,等)
    12、停止一个或多个指定容器进程:docker kill 镜像id/名称或容器id\名称
    13、暂停某个容器的所有进程:docker pause 容器id/名称
    14、恢复某个容器的所有进程:docker unpause 容器id/名称
    15、查看容器详情:docker container inspect 容器id
    16、docker container 命令使用:
        attach Attach to a running container
        附加到正在运行的容器上
        commit Create a new image from a container's changes
        从容器的更改中创建一个新映像
        cp Copy files/folders between a container and the local filesystem
        在容器和本地文件系统之间复制文件/文件夹
        create Create a new container
        创建一个新容器
        diff Inspect changes to files or directories on a container's filesystem
        差异检查容器文件系统中文件或目录的更改。
        exec Run a command in a running container
        在运行的容器中运行命令
        export Export a container's filesystem as a tar archive
        导出导出一个容器的文件系统作为一个TAR归档文件
        inspect Display detailed information on one or more containers
        检查在一个或多个容器上显示详细信息。
        kill Kill one or more running containers
        杀死一个或多个正在运行的容器
        logs Fetch the logs of a container
        日志获取容器的日志
        ls List containers
        ls列出的容器
        pause Pause all processes within one or more containers
        在一个或多个容器中暂停所有进程
        port List port mappings or a specific mapping for the container
        端口列表端口映射或容器的特定映射
        prune Remove all stopped containers
         删除所有停止的容器
        rename Rename a container
        重命名容器
        restart Restart one or more containers
        重新启动一个或多个容器
        rm Remove one or more containers
        删除一个或多个容器
        run Run a command in a new container
        在新容器中运行命令
        start Start one or more stopped containers
        启动一个或多个已停止的容器
        stats Display a live stream of container(s) resource usage statistics
        统计信息显示一个动态的容器资源使用统计数据流。
        stop Stop one or more running containers
        停止一个或多个正在运行的容器
        top Display the running processes of a container
        顶部显示容器的运行过程。
        unpause Unpause all processes within one or more containers
        取消暂停取消暂停所有过程的一个或多个容器内
        update Update configuration of one or more containers
        更新一个或多个容器的配置
        wait Block until one or more containers stop, then print their exit codes
        等待块直到一个或多个容器停止,然后打印出它们的出口代码。
    

    如果遇到命令不好用,建议去查相应的--help命令

    相关文章

      网友评论

          本文标题:docker基础:镜像,容器命令(三)

          本文链接:https://www.haomeiwen.com/subject/qrytqxtx.html