镜像常用命令
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及内存的情况
11、docker rm
docker rm 容器id
删除容器
总结
常用命令图形