当前位置:   article > 正文

【docker】常用命令_docker查看容器详细信息

docker查看容器详细信息

小结图:

docker version

查看docker版本

docker info

查看docker信息,client和server(包括容器里面哪个服务执行、暂停、停止)

docker --help(docker 【命令】--help)

docker里面所有的命令代码

docker stats

查看cpu和内存的情况

镜像命令:

·docker images 查询所有镜像

Options:

-a, --all 展示所有镜像

-q, --quiet 只显示镜像的id

·docker search 搜索镜像(和dockerHub同作用)

Options:

-f, --filter filter 可选项,通过搜藏来过滤

例:PS C:\Users\41074\Desktop> docker search centos

·docker pull 下载镜像

说明:默认是最新的版本

☆指定版本下载:docker pull 【服务】: 【版本】

·docker rmi 删除镜像

docker rmi -f 镜像id

说明:删除指订的镜像

docker rmi -f 镜像id 镜像id 镜像id

说明:删除多个指订的镜像,使用空格断开

docker rmi -f $(docker images -aq)

说明:删除全部镜像

1.例:

PS C:\Users\41074\Desktop> docker pull mysql:5.7

2.例:

通过函数,递归全部删除镜像

PS C:\Users\41074\Desktop> docker rmi -f $(docker images -aq)

容器命令:

说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习

docker pull centos

1.新建容器并启动:

docker run [可选参数] image

·参数说明:

--name="Name" 容器的名字

-e 环境配置

例: docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch

-d 后台方式运行

-it 使用交互方式运行,进入容器查看内容

-p 指定容器的端口 -p 8080:8080

-p ip:主机端口 : 容器端口

-p 主机端口 : 容器端口 (常用)

-p 容器端口

容器端口

-P(大写p) 随机指定端口

·测试:启动并进入容器

PS C:\Users\41074\Desktop> docker run -it centos /bin/bash

[root@ec3a9d25ed6c /]# ls //查看容器内的centos,基础版本,很多命令都是不完善的!

bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var

PS C:\Users\41074\Desktop>

2.查看正在运行中的容器:

docker ps //查看运行中的容器

-a //查看运行中+运行过的容器(历史记录)

-n=? //显示最近创建的容器

-q //只显示容器的编号

例:

PS C:\Users\41074\Desktop> docker ps -aq

ec3a9d25ed6c

84c9249ee2fb

3cb952fd1825

9b061ea8b769

d59ab6d3dd89

PS C:\Users\41074\Desktop> docker ps -aq -n=2

ec3a9d25ed6c

84c9249ee2fb

3.退出容器:

·直接停止并退出

例:[root@ec3a9d25ed6c /]# exit //从容器退回到主机

exit

·容器不停止退出

Ctrl + P + Q

4.删除容器:

docker rm 容器id //删除指定的容器,不能删除正在运行的容器,如果强制删除就是 rm -f

docker rm -f $(docker ps -aq) //删除所有的容器

docker ps -a -q|xargs docker rm //删除所有的容器

5.启动和停止容器:

docker start 容器id //启动容器

docker restart 容器id //重启容器

docker stop 容器id //停止当前正在运行的容器

docker kill 容器id //强制停止当前容器

6.进入当前正在运行的容器的命令:

docker exec -it 容器id /bin/bash //相当于开启新的终端

docker attach 容器id //以前有进程就进以前的进程,没有就新开启一个终端

常用其他命令:

1.后台启动容器

命令 docker run -d 镜像名!

例:docker run -d centos

注意:

问题,docker ps ,发现centos停止了

常见的坑,docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止

nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

2.查看日志命令

docker logs -f -t --tail 容器,没有日志

~自己编写一段shell脚本

"while true;do echo kuangshen;sleep 1;done"

~在后台运行脚本

docker run -d centos /bin/bash -c "while true;do echo gao;sleep 1;done"

~查看日志

docker logs -tf --tail 10 914ce91afb14

--tail 10:表示显示最新10条日志

-t:显示时间

-f:输出日志

3.查看容器中进程信息

docker top

PS C:\Users\41074\Desktop> docker top linux

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1977                1958                0                   02:07               ?                   00:00:00            /bin/bash

4.查看容器元数据

docker inspect 容器id

5.进去当前正在运行的容器

# 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

# 命令:
 docker exec -it 容器id bashShell  	#相当于容器开启一个新的终端,可以在里面操作(常用)
 docker attach 容器id								#进入容器正在执行的终端,不会启动新的进程!
 
# 测试:
PS C:\Users\41074\Desktop> docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS         PORTS     NAMES
c1ef845bb3c3   centos    "/bin/bash"   18 hours ago   Up 6 seconds             linux
PS C:\Users\41074\Desktop> docker exec -it linux /bin/bash
[root@c1ef845bb3c3 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@c1ef845bb3c3 /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 03:25 pts/0    00:00:00 /bin/bash
root        15     0  0 03:25 pts/1    00:00:00 /bin/bash
root        30    15  0 03:25 pts/1    00:00:00 ps -ef


# 方式二:
PS C:\Users\41074\Desktop> docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS         PORTS     NAMES
c1ef845bb3c3   centos    "/bin/bash"   18 hours ago   Up 4 minutes             linux
PS C:\Users\41074\Desktop> docker attach linux
[root@c1ef845bb3c3 /]#
正在执行当前的代码...

6.从容器内拷贝文件到主机上

docker cp 容器id:文件位置 要放的位置

查看当前主机目录
PS C:\Users\41074\Desktop> docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS         PORTS     NAMES
c1ef845bb3c3   centos    "/bin/bash"   18 hours ago   Up 4 minutes             linux
PS C:\Users\41074\Desktop> docker attach linux
[root@c1ef845bb3c3 /]# docker ps
bash: docker: command not found
[root@c1ef845bb3c3 /]# read escape sequence
PS C:\Users\41074\Desktop> docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS          PORTS     NAMES
c1ef845bb3c3   centos    "/bin/bash"   18 hours ago   Up 13 minutes             linux

# 进入docker容器内部
PS C:\Users\41074\Desktop> docker attach linux
[root@c1ef845bb3c3 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@c1ef845bb3c3 /]# cd home
[root@c1ef845bb3c3 home]# ls

#在容器内新建一个文件
[root@c1ef845bb3c3 home]# touch test.java
[root@c1ef845bb3c3 home]# ls
test.java
[root@c1ef845bb3c3 home]# exit

#将文件copy到目标文件
PS C:\Users\41074\Desktop> docker cp c1ef845bb3c3:/home/test.java D:\

#拷贝是一个手动过程,未来我们使用 -v 卷的技术,可以实现自动同步

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/743663
推荐阅读
相关标签
  

闽ICP备14008679号