Docker从入门到精通(四)——常用命令
话不多说,本篇文章给大家介绍 docker 的常用命令,基本上会覆盖我们日常使用的命令。
1、万能帮助命令
docker 命令 --help
假设你想用某个命令,但是又不知道该命令的一些参数怎么用,这时候上面的万能帮助命令就派上用场了。
更有甚者,你连命令也不记得了,那直接输入:
docker --help
找到你想要的那个命令,然后通过上面命令查看用法。
比如不知道如何运行容器?


找到英文 Run a command in a new container,这正是我们需要的。
但是我又不知道 run 命令怎么用,接着如下:

要是命令行看的太累,没关系,贴心的我给你们找好了官方参考:
https://docs.docker.com/engine/reference/commandline/docker/

什么?英文看不懂?百度翻译走起来吧,这个确实没啥办法了,但实际上你们看完我这边文章,基本上常用的命令都会详细介绍的。
2、常用命令
2.1 查看版本信息
docker version
在安装 docker 时我们介绍过这个命令,这里就不截图了。
2.2 查看系统信息
docker info
包括查看当前系统 docker 镜像和容器的数量。

3、镜像常用命令
3.1 查看镜像
docker images

①、REPOSITORY: 镜像仓库源
②、TAG:镜像版本,latest 表示最新版本
③、IMAGE ID:镜像ID(特别重要)
④、CREATED:创建时间
⑤、SIZE:镜像大小。
3.2 镜像搜索
docker search <镜像名>

①、NAME:镜像名称
②、DESCRIPTION:镜像描述
③、STARS:收藏数
④、OFFICIAL:是否官方
⑤、AUTOMATED:是否自动构建
这里的搜索,也有官方网址:

3.3 下载镜像
docker pull 镜像名<:tags>
比如下载最新版 Tomcat 镜像: docker pull tomcat
比如下载Tomcat 8.0 镜像:docker pull tomcat:8.0

3.4 删除镜像
docker rmi repository<:tag> # 根据名称和版本删除,如果不指定tag,默认是lastest
docker rmi IMAGE_ID # 根据镜像id删除
docker rmi IMAGE_ID1 IMAGE_ID2 ... # 批量删除
上面的 repository 和 tag 便是前面说的 【docker images】命令的提示。
比如删掉 tomcat 8.0 版本的镜像:

4、容器常用命令
4.1 新建容器并启动
docker run <参数> 镜像id|镜像名称
参数说明:
①、--name: 为启动容器指定一个名字,注意有两个 --。
②、-d:表示以后台方式运行,并返回容器ID。
③、-i:以交互模式运行容器。
④、-t:为容器重新分配一个伪输入终端。
⑤、-p: 主机端口:容器端口 | 容器端口 | ip:主机端口:容器端口。
⑥、-P:随机端口映射,容器内部端口随机映射到主机端口。
⑦、--link=[]:添加链接到另一个容器。
比如以后台方式启动一个Tomcat容器:

4.2 进入容器
①、使用run方式在创建时进入
docker run -it [镜像id|镜像名] /bin/bash

②、使用 attach 命令(进入已启动的容器)
直接进入 容器启动命令的终端,不会启动新进程,多个attach连接共享容器屏幕,参数:--sig-proxy=false 确保CTRL-D或CTRL-C不会关闭容器
docker attach --sig-proxy=false 容器名称|容器ID
③、使用 exec 命令(进入已启动的容器)
进入容器后开启一个新的终端,可以在里面进行操作。
docker exec -it 容器名称|容器ID /bin/bash

4.3 退出容器
①、Ctrl+P+Q : 仅退出容器,不关闭容器。
②、exit: 关闭容器并退出。
4.4 查看所有运行的容器
1、查看正在运行的容器
docker ps
2、查看正在运行的容器的ID
docker ps -q
3、查看正在运行+历史运行过的容器
docker ps -a
4、显示运行容器总文件大小
docker ps -s

4.5 停止与删除容器
①、停止一个运行中的容器
docker stop 容器名|容器id
②、杀掉一个运行中的容器
docker kill 容器名|容器id
③、删除一个已停止的容器
docker rm 容器名|容器id
④、删除一个运行中的容器
docker rm -f 容器名|容器id
4.6 查看容器日志
docker logs <参数>容器名|容器id
参数:
①、-f 跟踪日志输出
②、-t:显示时间戳
③、--tail N:仅列出最后N条日志

4.7 查看容器进程
docker top 容器ID|容器名

4.8 查看容器信息
docker inspect 容器ID|容器名

4.9 主机和容器之间数据复制
①、将容器中的文件copy至本地路径
docker cp 容器名|容器ID:/[container_path] [local_path]
②、将主机文件copy至容器
docker cp [local_path] 容器名|容器ID:/[container_path]
③、将主机文件copy至容器,目录重命名为[container_path](注意与非重命名copy的区别)
docker cp [local_path] rabbitmq:/[container_path]

5、总结
一图胜千言:


Docker从入门到精通(四)——常用命令的更多相关文章
- WPF MVVM从入门到精通4:命令和事件
原文:WPF MVVM从入门到精通4:命令和事件 WPF MVVM从入门到精通1:MVVM模式简介 WPF MVVM从入门到精通2:实现一个登录窗口 WPF MVVM从入门到精通3:数据绑定 WP ...
- Docker(二)安装及常用命令
1.安装 1.安装虚拟机VMWare 链接:https://pan.baidu.com/s/1Xl7ENUm2gapPOFs-iXHpRQ 提取码:eubm 2.下载centos,我下的是这个版本的 ...
- Dockerfile自动制作Docker镜像(二)—— 其它常用命令
Dockerfile自动制作Docker镜像(二)-- 其它常用命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerf ...
- Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- Docker for Windows(三)Docker镜像与容器的区别&常用命令
Docker镜像(Image)是一堆只读文件(read-only layer),容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是 ...
- docker系列详解<二>之常用命令
此篇我们以从docker运行一个tomcat为例,进行一下操作: 拉取镜像 查看镜像 创建容器 查看运行状态 进入退出容器 停止容器 重启容器 删除容器 删除镜像 1.拉取tomcat镜像: 1).查 ...
- MyBatis从入门到精通(四):MyBatis XML方式的基本用法之增删改
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 1. insert用法 1.1 简单的 ...
- Maven从入门到精通(四)
这一篇我会着重讲解Maven的核心命令及作用,Maven在项目构建各个阶段的作用. 1.maven生命周期模型: 1.1.清洁(clean) 1.2.默认(default) 1.3.站点(site) ...
- Redis入门,Jedis和常用命令
一.Redis简介 1.关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 库是基于特殊的结构,并将数据存储到内存的数据库.从性 ...
随机推荐
- Typora的基础操作
#一级标题 ##二级标题 ###三级标题 ####四级标题 加粗 倾斜 加粗又倾斜 ---下划线 插入图片 英文状态下 感叹号+中括号+小括号 //中括号内为图片名字 若想插入网络图片 在网络上找一个 ...
- [bzoj1089]严格n元树
设f[i]表示深度不超过i的方案数,那么有f[0]=1,$f[i]=f[i-1]^{n}+1$,然后用高精度即可(注意深度恰好为d还要用f[d]-f[d-1]才是答案) 1 #include<b ...
- spring boot(三)整合 redis
Spring boot 集成redis 为什么要用redis,它解决了什么问题? Redis 是一个高性能的key-value内存数据库.它支持常用的5种数据结构:String字符串.Hash哈希表. ...
- 【Tool】IntelliJ IDEA Ultimate2019.1 中文版 安装
IntelliJ IDEA Ultimate2019.1 2019-07-26 09:26:24 by冲冲 1. 下载 https://mp.weixin.qq.com/s/SdFQqGzMy-g ...
- 《程序员漫画》| 萌新面试Google
Hello,大家好.今天的更新有点不一样.我给大家带来了一些程序员漫画.这些都是我自己画的哦.希望大家喜欢. 今天的漫画有简约的画风,也有一些写实的风格(漂亮MM总是有特殊待遇).不知道大家喜欢哪种呢 ...
- 洛谷 P3215 [HNOI2011]括号修复 / [JSOI2011]括号序列(fhq-treap)
题目链接 题意:有一个长度为 \(n\) 的括号序列,你需要支持以下操作: 将 \([l,r]\) 中所有括号变为 \(c\) 将 \([l,r]\) 区间翻转 将 \([l,r]\) 区间中左括号变 ...
- HDU 7066 - NJU emulator(构造题)
题面传送门 提供一种不同于官方题解.需要的操作次数比官方题解多(官方题解大概是 \(2\times 16\),我这大概是 \(3\times 16\)),但能通过此题的做法. 首先我们考虑一个暴力,我 ...
- ZROI 2019 暑期游记
ZROI 游记 在自闭中度过了17天 挖了无数坑,填了一点坑 所以还是有好多坑啊zblzbl 挖坑总集: 时间分治 差分约束 Prufer序列 容斥 树上数据结构 例题C (和后面的例题) 点分 最大 ...
- 洛谷 P7324 - [WC2021] 表达式求值(状压+dp)
题面传送门 现场人傻系列-- 首先建出 \(E\) 的表达式树,具体来说表达式的每一个叶子节点表示一个数组 \(A_i\),每一个非叶子节点都表示一次运算,它的值表示左右儿子进行该运算后得到的结果.这 ...
- 如何使用scp在Linux服务器的后台传输文件?
目录 一.上传 常规操作 建议 后台运行 二.下载 两台服务器间文件如何传输?对于小文件,可以先从Linux服务器传到window,再传到另一台服务器.对于大的文件,如测序数据.比对文件等.这样的方法 ...