2、Docker常用命令

镜像常用命令

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删除容器


总结

常用命令图形


常用命令图形

你可能感兴趣的:(2、Docker常用命令)