美文网首页
2、Docker常用命令

2、Docker常用命令

作者: chanyi | 来源:发表于2021-07-29 15:15 被阅读0次

    镜像常用命令

    1、docker images

    docker iamges列出主机上的所有镜像
    docker iamges -a列出主机上的所有镜像
    docker iamges -q只列出所有镜像的id

    2、docker search

    docker search mysql 搜索所有的mysql镜像
    docker search mysql --filter-stars=3000 搜索所有stars大于3000的mysql镜像
    也可以通过网址hub.docker.com直接进行搜索

    3、docker pull

    docker pull命令为获取镜像的命令
    docker pull elasticsearch默认下载最新的es
    docker pull elasticsearch:7.12.1下载指定版本的es

    注意!!!
    下载的时候采用分层的技术下载,可以提高下载的效率

    注意!!!
    docker pull 在执行中如果出现提示:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=elasticsearch&tag=7.12.1: dial unix /var/run/docker.sock: connect: permission denied。则需要将当前用户添加到docker用户组中。
    执行步骤:
    1、sudo groupadd docker添加docker用户组
    2、sudo gpasswd -a 当前登录用户 docker 将登录用户添加到docker用户组中
    3、newgrp docker 更新docker用户组

    4、docker rmi

    删除镜像文件前,需要先关闭docker容器,然后执行命令docker rmi 镜像id
    docker rmi -f $(docker images -aq) 删除所有的镜像

    容器管理常用命令

    1、docker ps

    docker ps查看运行中的容器

    2、docker run

    docker run启动容器
    常用的参数
    -d 后台启动
    -it 使用交互方式运行,进入容器查看内容
    -P 随机端口
    -p 指定端口(-p 8080:8080 是指主机的8080端口映射容器的8080端口,也可以使用-p 容器端口
    --name 容器名称给容器命名
    -e 环境变量 给环境增加环境变量
    -rm 用完即删,专门用于测试,不建议使用

    例如:

    docker run -d  --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.12.1
    

    3、docker inspect

    查看应用的底层信息

    docker inspect 容器id
    

    4、docker exec -it bashShell

    docker exec -i -t 容器id /bin/bash进入容器 进入容器后退出使用exit
    docker attach也可以进入容器,但是退出后容器会停止,所以不建议使用
    区别是:
    docker exec是开启一个新的进程
    docker attach进入原来的进程

    注意!!
    如果发现进入容器内部之后发现有些linux的命令不能用,或者所进入的应用下没有对应的文件,则说明当前的镜像是最可运行版本,是一个阉割后的版本。例如安装tomcat后发现webapp文件下没有文件,则需要去webapp.dist目录下的所有文件cp到webapp目录下

    5、docker stop / docker restart

    docker stop 容器id进入容器
    docker restart 容器id重启容器
    docker kill 容器id 强制停止容器

    注意
    这里如果执行docker stop 容器id之后,通过docker ps -a 还是能发现有stop的容器,说明容器停止失败。
    这种情况应该直接使用命令docker rm -f 容器id强制删除,
    然后再执行docker network disconnect --force bridge 容器id释放容器的网络占用

    6、docker logs

    docker logs 容器id查看容器运行日志
    docker logs 容器id |grep 关键字按照条件查询日志
    docker logs --tail 20 容器id查找最近的20条日志
    docker logs -f 容器id实时查找日志

    7、docker top

    docker top 容器id查看容器的进程信息

    8、docker network

    docker network ls查看所有的网络
    docker network create 网络名创建网络
    docker network inspect 网络名查看网络内部详情
    docker network rm 网络名删除网络

    9、docker cp

    docker cp 容器id: /容器目录/容器中的文件 /系统目录从容器中copy文件出来

    10、docker stats

    docker stats查看各个容器占用的cpu及内存的情况



    总结

    常用命令图形


    常用命令图形

    相关文章

      网友评论

          本文标题:2、Docker常用命令

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