美文网首页
Docker 常用命令总结

Docker 常用命令总结

作者: one_8274 | 来源:发表于2019-06-24 22:58 被阅读0次

    不断更新,欢迎关注交流


    登陆私有容器

    • docker login --username=YOURUSERNAME dockerhub.xxx.com

    下载私有镜像仓库容器

    • docker pull dockerhub.xxxx.com/xxx/xxx

    查看docker镜像及容器空间占比

    docker system df

    docker compose

    执行compose.yml

    • docker-compose up -d
      • -d: 后台运行

    查看服务状态

    • docker-compose ps

    停止通过compose.yml启动的服务

    • docker-compose down

    热更新指定服务

    • 方法1: docker restart CONTAINER_NAME
      这个CONTAINER_NAME指docker-compose ps 中看到的name
    • 方法二: docker-compose restart CONTAINER_NAME
      这个CONTAINER_NAME指yml文件中的服务名

    docker stack

    stack启动

    • docker stack deploy -c docker-compsoe.yml stack_name

    查看stack服务状态

    • docker service ls

    停止stack启动的服务

    • docker stack rm stack_name

    stack 启动后更新指定服务

    • docker service update --force STACK_CONTAINER_NAME

    缩容扩容服务

    • docker service scale
     # 扩展服务容器副本数量
    - docker service scale 服务名=副本数
    

    查看日志

    • docker service ps 容器名 --no-trunc
    • docker service logs 服务id

    镜像打包与加载

    将镜像打包

    • docker save image_address | gzip > image.tar.gz

    通过压缩文件加载镜像

    • docker load -i image.tar.gz

    批量打包脚本

    images_dir=images_`date +"%Y-%m-%d"`
    rm -rf $images_dir
    mkdir $images_dir
    
    # 2019.06.11批量下载改为循环下载By Zyf
    #docker-compose pull
    
    save_image () {
        image=$1
        echo "==> "$2"/"$3" ==> pull "${image}
        docker pull ${image}
        saved_file=`echo ${image} | awk -F / '{print $NF}' | sed 's/:/-/g'`.tar
        zipped_file=$saved_file.gz
        echo "saving $image ..."
        docker save $image > ${images_dir}/${saved_file}
        cd ${images_dir} && tar -czvf ${zipped_file} ${saved_file} && cd -
    }
    # 首次部署
    # 2019.07.17 判断是否有 Update By zyf
    for yml in $(ls | grep .yml);
    do
        echo "Read" $yml
        total=$(cat $yml | grep image | awk '{if($1=="image:"){print $1}}'| wc -l)
        for eximage in $(cat $yml | grep image | awk '{if($1=="image:"){print $2}}');
        do
            let i+=1
            save_image $eximage $i $total
        done
    done
    rm -rf ../${images_dir}/*.tar
    

    批量load

    #!/bin/bash
    # 解压tar.gz文件
    for dir in `ls -1 | grep .tar.gz`;
    do
            tar -zvxf $dir;
    done
    rm -rf *.tar.gz
    # 导入镜像
    for dir in `ls -1 | grep .tar`;
    do
            docker load -i $dir;
    done
    
    


    容器交互

    docker 进入运行中容器

    • docker exec -it container_id bash

    docker 退出运行中容器

    • 快捷键:ctrl p q

    宿主机与容器内文件拷贝

    • docker cp 源文件绝对路径 目前路径
    demo:将容器内文件拷贝到当前目录下
    docker cp container_id:/data/global.conf ./
    

    $符的应用

    • 删除全部image
      • docker rmi $(docker images)
    • 删除全部Container
      • docker rm $(docker ps -a)
    • 停止全部Container
      • docker stop $(docker ps -a)
    • 批量删除已退出的docker container
      • docker rm $(docker ps -qf status=exited)
    • 批量删除以zhy开头的容器
      • docker rm $(docker ps -a | grep "zhy*" | awk "{print $1}")
    • 批量删除镜像
      - docker rmi $(docker images | grep "none" | awk '{print $3}')
    

    docker 网络相关

    相关文章

      网友评论

          本文标题:Docker 常用命令总结

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