Docker

作者: ljt001 | 来源:发表于2021-09-03 14:10 被阅读0次
    # 常用命令
    docker login -u user -p pass xxx.com
    docker login -u user -p pass xxx.com --password-stdin < /mnt/docker_password
    docker logout xxx.com
    cat /root/.docker/config.json # 查看登录信息
    
    docker run -itd --name xxx IMAGE
    docker run -itd --name xxx --restart unless-stopped -p 10080:8080 --dns=127.0.0.11 --dns=127.0.0.12 -m 2048M -v /mnt/data/:/mnt/data/ -v /mnt/logs/:/mnt/logs/ xxx.com/nginx:v1
    docker pull IMAGE
    docker pull [OPTIONS] NAME[:TAG|@DIGEST]
    docker build -t xxx.com/nginx:v1 /mnt/dockerfile_dir
    docker push [OPTIONS] NAME[:TAG]
    # Create a new image from a container's changes,commit之后再push
    docker commit -m="a message" -a="author" CONTAINER xx.com/nginx:v2 
    docker exec -itd <name> bash
    docker ps
    docker ps -a
    docker ps -a|grep xxx
    docker ps | sort -k 2 # sort -k n按第n列排序,以下按第2列排序
    # ps显示指定列
    docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}\t{{.Image}}\t{{.Status}}"
    docker stop CONTAINER
    docker rm -f CONTAINER
    
    docker inspect <container name>|<container  id>
    docker stats # 类似top
    docker stats [CONTAINER]
    docker port CONTAINER
    
    # 清理没有使用的image
    docker image prune #Remove unused images
    # 清理没有使用和悬虚镜像
    docker image prume -a #Remove all unused images, not just dangling ones
    # 查看悬虚镜像
    docker images -f dangling=true
    #悬虚镜像(dangling image)是没有标签的镜像,docker images可看到TAG列显示为<none>,docker构建同名标签时新镜像占用了标签名,旧镜像上的标签被移除了,旧镜像就成了悬虚镜像。
    
    # 查看运行容器的docker run启动参数
    yum install -y python-pip
    pip install runlike
    runlike -p <容器名>|<容器ID>
    # e.g. runlike -p nginx #nginx为容器名
    
    # Dockerfile
    # WORKDIR 指定工作目录
    WORKDIR /mnt/myapp
    
    # 查看容器进程在宿主机的PID
    docker top <container>
    docker inspect -f '{{.State.Pid}}' <container>
    cat /sys/fs/cgroup/memory/docker/<containerId>/cgroup.procs #需要完整容器id,可通过docker ps --no-trunc查看
    
    # 查docker容器日志文件
    docker inspect --format='{{.LogPath}}' <container>
    
    # 从系统日志查看是否存在oom(内存溢出)
    journalctl -k | grep -i -e memory -e oom
    
    # 从系统日志中查看docker相关日志,docker突然挂掉等情况下可尝试以此方式排查
    # -u是指定用户,since和until指定时段
    journalctl -u docker -n 1000 --no-page --since "2022-03-09 14:00:00" --until "2022-03-09 23:10:00"
    
    

    相关文章

      网友评论

          本文标题:Docker

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