美文网首页
C.3 docker command

C.3 docker command

作者: 成长的键盘手 | 来源:发表于2018-02-28 00:23 被阅读0次

    镜像管理

    查看本地镜像

    # 查看本地的所有镜像
    docker images
    # 查看本地镜像,并根据条件筛选
    docker images | grep "centos"
    

    查找仓库的镜像

    # 向docker仓库查找镜像
    docker search <image_name>
    # 从docker的官方仓库查找mysql镜像
    docker search mysql
    # 从docker的私有仓库查找镜像
    docker search 192.168.137.101:5000/mysql
    

    拉取镜像

    # 从仓库拉取镜像到本地
    docker pull <image_name>[:tag]
    # 从docker的官方仓库下载mysql镜像
    docker pull mysql:5.6
    # 从docker官方仓库下载最新的mysql镜像
    docker pull mysql
    # 从docker的私有仓库下载mysql镜像
    docker pull 192.168.137.101:5000/mysql:5.6
    

    推送镜像

    # 从本地上传镜像到docker仓库
    docker push <image_name>[:tag]
    # 上传helloworld镜像到docker官方仓库(此时需要帐号信息)
    docker push helloworld:1.0
    # 上传registry.mateng.pers:5000/helloworld镜像到私有仓库
    docker push registry.mateng.pers:5000/helloworld:1.0
    

    删除镜像

    # 删除本地镜像(通过镜像id或者镜像名称删除)
    docker rmi <image_name>[:tag]
    docker rmi <image_id>
    # 删除mysql镜像
    docker rmi mysql:5.6
    

    创建目标镜像

    # 重新给镜像打标签和命名,相当于复制一份镜像并重新命名
    docker tag <image_name>[:tag] <image_name>[:tag]
    # 将helloword的镜像复制一份,
    # 并命名为registry.mateng.pers:5000/hello-world,其版本号为1.0
    # registry.mateng.pers:5000为docker私有仓库的地址
    docker tag hello-world registry.mateng.pers:5000/hello-world:1.0
    

    参考资料

    容器管理

    容器启动停止

    # 启动镜像,并执行相应的命令,命令可以附加一部分参数
    docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
    # 启动helloword镜像为容器,容器的名称是my-first-docker
    docker run -d --name my-tomcat -p 8080:8080 tomcat:8.0
    
    # 根据容器的id或名称停止一个已启动的容器
    docker stop <CONTAINER_ID|CONTAINER_NAME>
    docker stop my-tomcat
    
    # 根据容器的id或名称启动一个已停止的容器
    docker start <CONTAINER_ID|CONTAINER_NAME>
    docker start my-tomcat
    
    # 根据容器的id或名称重启
    docker restart <CONTAINER_ID|CONTAINER_NAME>
    docker restart my-tomcat
    
    # 删除容器,删除容器时,容器必须是停止状态
    docker rm <CONTAINER_ID|CONTAINER_NAME>
    docker rm my-tomcat
    

    docker常用启动参数(OPTIONS)说明

    参数 描述
    --name 指定容器启动后的名称,如果不指定名称,docker会随机一个
    --restart=always 自动重启,在容器意外停止,状态异常或机器重启等情况会自动重启)
    --restart=no 不自动重启
    --restart=on-failure[:max-retries] on-failure:启动失败时自动重启,并支持尝试次数
    --link [container_name] 链接某个容器,在容器内部可以使用容器名代替ip进行访问,有效的屏蔽了ip
    -d 后台运行,会返回一个容器id
    -i 容器启动后可以给容器输入命令
    -t 容器启动后分配一个tty终端,通常-i和-t配合使用
    -e 设置环境变量,-e JAVA_HOME="/usr/local/java"
    -p <HOST_PORT>:<CONTAINER_PORT> 将容器的端口映射到宿主的端口上
    -v <HOST_PATH>:<CONTAINER_PATH> 将容器的文件路径映射到宿主机的文件路径上
    -m <xGB> 内存使用的上限,-m 2GB
    -dns <ip> 使用相应的ip作为dns服务,例如:-dns 8.8.8.8,默认使用宿主机的dns

    参考地址

    容器的监控与运维

    # 查看已经启动的容器
    docker ps
    # 显示出来所有容器(包括曾经运行过,目前已停止的容器)
    docker ps -a
    
    # 显示容器的最新的日志,-f选项就好比Shell终端中的“tail -f”中的-f选项
    docker logs [-f] <CONTAINER_ID|CONTAINER_NAME>
    
    # 显示指定的每一个容器的当前负载,比如CPU占用率、内存使用率以及网络流量等
    docker status <CONTAINER_ID|CONTAINER_NAME>
    
    # 该命令将容器的所有配置信息以JSON的格式转储出来显示
    docker inspect <CONTAINER_ID|CONTAINER_NAME>
    
    # 进入正在运行的容器(已过时,推荐使用docker exec)
    docker attach <CONTAINER_ID|CONTAINER_NAME>
    # 进入正在运行的容器,并进入一个终端,可以执行shell部分命令
    docker exec -it <CONTAINER_ID|CONTAINER_NAME> /bin/bash
    
    # 该命令显示容器与宿主机之间的所有端口映射信息
    docker port <CONTAINER_ID|CONTAINER_NAME>
    
    # 拷贝容器内容文件到宿主机
    docker cp <CONTAINER_ID|CONTAINER_NAME>:容器的目录 宿主机的目录
    

    网络管理

    待续。。。

    数据卷管理

    待续。。。

    其他

    # 查看docker的基本信息
    docker info
    
    # 查看docker版本
    docker version
    
    # 批量清理已停止的容器
    docker rm -f $(docker ps -qa)
    
    # 删除没有标签的镜像
    docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
    
    
    # 批量删除孤单的 volumes
    docker volume ls -qf dangling=true
    docker volume rm $(docker volume ls -qf dangling=true)
    

    相关文章

      网友评论

          本文标题:C.3 docker command

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