【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.从容器内拷贝文件到主机上文章来源地址https://www.toymoban.com/news/detail-497008.html

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 卷的技术,可以实现自动同步

到了这里,关于【docker】常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器硬件规格常用查看命令——通用命令

    使用lshw命令可以查看服务器硬件配置的详细信息。使用它可以在支持DMI的x86或IA-64系统以及某些PowerPC机器上打印内存配置、固件版本、主板配置、CPU版本、G4可以工作)。目前该命令支持 CPU频率、缓存、总线速度等信息(已知PowerMac DMI(仅限x86和IA-64)、OpenFimware设备树(仅

    2024年02月05日
    浏览(56)
  • 已解决正确查看pip版本、查看pip帮助命令

    已解决(pip查看版本报错)Usage:pip [options] no such option: —verson 粉丝群一个小伙伴想用pip查看版本报错,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下

    2023年04月17日
    浏览(44)
  • webassembly查看帮助以及常用命令

    emcc --help Emscripten Compiler Frontend (emcc) — Emscripten 3.1.42-git (dev) documentation emcc [options] files options有如下选择: 优化,n表示不同优化等级和选项 emscripten的构建选项,-s和OPTION中间的空格可以省略,=value也可以省略表示使能。 所有的OPTION都在src/settings.js中,常用的OPTION有: WASM

    2024年02月11日
    浏览(43)
  • es查看集群状态常用命令

    1.查看集群数据的正确率 active_shards_percent_as_number这个值如果低于100说明集群数据正确性存在问题,集群状态为yellow或者red都会使这个值低于100 2.查看集群索引的状态

    2024年02月11日
    浏览(45)
  • linux下常用命令查看端口占用

    在linux使用过程中,有时候需要了解当前系统开放了哪些端口,并且还需要查看开放这些端口的具体进程和用户,可以使用netstat命令, netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息 语法 netstat [选项

    2024年02月04日
    浏览(45)
  • Ubuntu 中常用的查看日志命令

    要查看Ubuntu的日志,可以使用以下命令: 1. 查看系统日志: 2. 查看应用程序日志: 3. 查看登录日志: 4. 查看内核日志: 5. 查看系统启动日志: 您可以使用 tail 命令来查看最新的日志条目,例如: 这将显示最新的日志条目,并在新条目添加到日志文件时自动更新。

    2024年02月04日
    浏览(41)
  • Linux查看日志文件的常用命令

    1、查看文件最后1000行内容 tail -n 1000 filename 2、实时查看文件最后1000行内容,动态刷新 tailf -n 1000 filename tail -f -n 1000 filename 3、按照搜索日志 cat filename | grep \\\'\\\' 4、按照搜索并包含前(后)多少行 【(A前B后C前后)几行】 cat filename | grep \\\'\\\' -A 2 5、将查询

    2024年02月07日
    浏览(41)
  • nvm 管理node版本后 pnpm --version ‘pnpm‘ 不是内部或外部命令,也不是可运行的程序

    问题:电脑使用nvm管理版本后 安装pnpm成功后 使用pnpm --version 检查是否安装成功,结果却报错 pnpm --version ‘pnpm’ 不是内部或外部命令,也不是可运行的程序。搞了小半天终于ok了。原来是npm全局包路径、缓存路径的问题。 一、安装pnpm,安装时先看下与node的兼容性、我使用的

    2024年02月09日
    浏览(73)
  • Android 查看按键信息的常用命令详解

    如果需要适配系统按键或者查看按键信息,那么按键基本命令和查看基本命令里面的信息是关键基础。 本文一起学习看出一下按键基本命令和里面的关键信息。 除了\\\"dumpsys input\\\"这个命令不需要su/root权限,其他命令都是需要获取权限才能获得信息。 简单示例: 这里可以看到

    2024年02月03日
    浏览(40)
  • ElasticSearch常用查询命令查看基本信息

    查看es的集群状态 http://IP:9200/_cat/healthv 注: IP指es集群某个ip地址, v表示格式化输出 查看es集群节点列表 http://IP:9200/_cat/nodesv 查看es集群所有索引及数据大小 http://IP:9200/_cat/indicesv 查看单个索引结构信息 http://IP:9200/indexNamepretty=true 注: indexName是索引名字, pretty=true表示格式化输出

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包