美文网首页
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