Docker 常用命令总结
Docker 常用命令总结

镜像相关
搜索
docker search *image_name*
下载
docker pull *image_name*
查看
docker images
docker image ls
删除
docker rmi *image_name*
docker image rm *image_name*
导出docker镜像
docker save *image_name* > /save/image/path/name.tar.gz
导入docker镜像
docker load < /save/image/path/name.tar.gz
提交创建的自定义的镜像
docker commit *container_id* *镜像名称*
1 |
[root@c7-dev ~]# docker images |
打标签时的注意事项:docker tag bac2 gandoufu/centos7-wget
bac2 是镜像的id
gandoufu/centos7-wget 镜像的名称必须是自己的id名称/镜像名称
latest 默认版本号,可以不用加
容器相关
新建容器
docker create image_name
docker create -t -i image_name bash
docker run image_name
docker run image_name /bin/echo “haha”
docker run -it -d image_name
docker run -it -d –rm –name mydo image_name
使用create创建的容器,在使用时需要先start对应的容器;
使用run创建的容器,直接运行;如果指定的image_name
不存在,则会去镜像仓库下载镜像,然后根据镜像创建容器。
参数说明:
i 进入交互模式
t 创建一个虚拟终端
d 后台运行
rm 退出后自动删除容器
name 创建的容器使用自定义的名字
注:i和t参数一起指定(-it),在实际操作时发现只指定i参数时,attach到实例时会出现卡死的情况。
进入容器
docker attach *container_id|container_name*
根据容器的id或名字进入指定的容器;如果容器处于未运行状态,需要先启动容器docker start container_id
1 |
[root@c7-dev ~]# docker ps -a |
使用运行的容器执行命令
docker exec *container_id* command
1 |
[root@c7-dev ~]# docker ps |
查看容器
docker ps
docker ps -a
docker ps -aq
1 |
[root@c7-dev ~]# docker run -it -d centos bash |
停止容器
docker stop *container_id*
1 |
[root@c7-dev ~]# docker ps |
删除容器
docker rm *container_id*
1 |
[root@c7-dev ~]# docker ps -a |
仓库相关
登录/退出仓库
docker [login/logout] [仓库地址]
1 |
[root@c7-dev ~]# docker login daocloud.io |
外部访问容器
先下载一个training/webapp
镜像,用于测试
1 |
[root@c7-dev ~]# docker run -d -P training/webapp python app.py |
通过webapp镜像创建运行容器,在容器内运行一个简单的web应用,端口为5000。
参数说明:
-P 会使用宿主机的一个随机端口映射到容器内的5000端口;外部访问ip+随机端口就可以访问容器内的外部应用
-p 指定外部端口与内部端口映射关系。外部端口:内部端口
硬件资源相关
显示容器硬件资源使用情况
docker stats [OPTIONS] [CONTAINER...]
1 |
[root@c7-dev ~]# docker stats --no-stream |
如果不加--no-stream
参数,会实时刷新显示资源使用情况。
更新容器的硬件资源限制
1 |
# 创建容器的时候,限制内存 |
注意:指定限制内存大小并且设置 memory-swap 值为 -1,表示容器程序使用内存受限,而 swap 空间使用不受限制(宿主 swap 支持使用多少则容器即可使用多少。如果 –memory-swap 设置小于 –memory则设置不生效,使用默认设置)。
docker run -it --rm -m 100M ubuntu-stress:latest /bin/bash
如果不添加–memory-swap选项,则表示容器中程序可以使用100M内存和100Mswap内存,默认情况下,–memory-swap 会被设置成 memory 的 2倍。-m 为物理内存上限,而 –memory-swap 则是 memory + swap 之和,当压测值是 –memory-swap 上限时,则容器中的进程会被直接 OOM kill。
Docker命令参考表
docker命令选项列表
选项 | 说明 | 其他 |
---|---|---|
–config [string] | 客户端本地配置文件路径 | 默认为 ~/.docker |
-D, –debug | 启用调试模式 | |
–help | 打印用法 | |
-H, –host list | 通过socket访问指定的docker守护进程(服务端) | unix:// , fd:// , tcp:// |
-l, –log-level [string] | 设置日志级别 (debug 、info 、warn 、error 、fatal ) |
默认为 info |
–tls | 启用TLS加密 | |
–tlscacert [string] | 指定信任的CA根证书路径 | 默认为 ~/.docker/ca.pem |
–tlscert [string] | 客户端证书路径 | 默认为 ~/.docker/cert.pem |
–tlskey [string] | 客户端证书私钥路径 | 默认为 ~/.docker/key.pem |
–tlsverify | 启用TLS加密并验证客户端证书 | |
-v, –version | 打印docker客户端版本信息 |
用于管理的子命令列表
选项 | 说明 |
---|---|
container | 管理容器 |
image | 管理镜像 |
network | 管理容器网络(默认为bridge、host、none三个网络配置) |
plugin | 管理插件 |
system | 管理系统资源。其中, docker system prune 命令用于清理没有使用的镜像, 容器, 数据卷以及网络 |
volume | 管理数据卷 |
swarm | 管理Swarm模式 |
service | 管理Swarm模式下的服务 |
node | 管理Swarm模式下的docker集群中的节点 |
secret | 管理Swarm模式下的敏感数据 |
stack | Swarm模式下利用compose-file管理服务 |
基础子命令列表
选项 | 说明 |
---|---|
attach | 进入运行中的容器, 显示该容器的控制台界面。注意, 从该指令退出会导致容器关闭 |
build | 根据 Dockerfile 文件构建镜像 |
commit | 提交容器所做的改为为一个新的镜像 |
cp | 在容器和宿主机之间复制文件 |
create | 根据镜像生成一个新的容器 |
diff | 展示容器相对于构建它的镜像内容所做的改变 |
events | 实时打印服务端执行的事件 |
exec | 在已运行的容器中执行命令 |
export | 导出容器到本地快照文件 |
history | 显示镜像每层的变更内容 |
images | 列出本地所有镜像 |
import | 导入本地容器快照文件为镜像 |
info | 显示 Docker 详细的系统信息 |
inspect | 查看容器或镜像的配置信息, 默认为json数据 |
kill | -s 选项向容器发送信号, 默认为SIGKILL信号(强制关闭) |
load | 导入镜像压缩包 |
login | 登录第三方仓库 |
logout | 退出第三方仓库 |
logs | 打印容器的控制台输出内容 |
pause | 暂停容器 |
port | 容器端口映射列表 |
ps | 列出正在运行的容器, -a 选项显示所有容器 |
pull | 从镜像仓库拉取镜像 |
push | 将镜像推送到镜像仓库 |
rename | 重命名容器名 |
restart | 重启容器 |
rm | 删除已停止的容器, -f 选项可强制删除正在运行的容器 |
rmi | 删除镜像(必须先删除该镜像构建的所有容器) |
run | 根据镜像生成并进入一个新的容器 |
save | 打包本地镜像, 使用压缩包来完成迁移 |
search | 查找镜像 |
start | 启动关闭的容器 |
stats | 显示容器对资源的使用情况(内存、CPU、磁盘等) |
stop | 关闭正在运行的容器 |
tag | 修改镜像tag |
top | 显示容器中正在运行的进程(相当于容器内执行 ps -ef 命令) |
unpause | 恢复暂停的容器 |
update | 更新容器的硬件资源限制(内存、CPU等) |
version | 显示docker客户端和服务端版本信息 |
wait | 阻塞当前命令直到对应的容器被关闭, 容器关闭后打印结束代码 |
daemon | 这个子命令已过期, 将在Docker 17.12之后的版本中移出, 直接使用dockerd |
run命令常用选项
选项 | 说明 |
---|---|
-d | 后台运行容器, 并返回容器ID;不指定时, 启动后开始打印日志, Ctrl + C 退出命令同时会关闭容器 |
-i | 以交互模式运行容器, 通常与 -t 同时使用; |
-t | 为容器重新分配一个伪输入终端, 通常与 -i 同时使用 |
–name “anyesu-container” | 为容器指定一个别名, 不指定时随机生成 |
-h docker-anyesu | 设置容器的主机名, 默认随机生成 |
–dns 8.8.8.8 | 指定容器使用的DNS服务器, 默认和宿主一致 |
-e docker_host=172.17.0.1 | 设置环境变量 |
–cpuset=”0-2” or –cpuset=”0,1,2” | 绑定容器到指定CPU运行 |
-m 100M | 设置容器使用内存最大值 |
–net bridge | 指定容器的网络连接类型, 支持 bridge / host / none / container 四种类型 |
–ip 172.18.0.13 | 为容器分配固定ip(需要使用自定义网络) |
–expose 8081 –expose 8082 | 开放一个端口或一组端口, 会覆盖镜像设置中开放的端口 |
-p [宿主机端口]:[容器内端口] | 宿主机到容器的端口映射, 可指定宿主机的要监听的ip, 默认为 0.0.0.0 |
-P | 注意是大写的, 宿主机随机指定一组可用的端口映射容器 expose 的所有端口 |
-v [宿主机目录路径]:[容器内目录路径] | 挂载宿主机的指定目录(或文件)到容器内的指定目录(或文件) |
–add-host [主机名]:[ip] | 为容器hosts文件追加host, 默认会在hosts文件最后追加 [主机名]:[容器ip] |
–volumes-from [其他容器名] | 将其他容器的数据卷添加到此容器 |
–link [其他容器名]:[在该容器中的别名] | 添加链接到另一个容器, 在本容器hosts文件中加入关联容器的记录, 效果类似于 --add-host |

原文地址:https://www.cnblogs.com/xiao-xue-di/p/10113688.html
Docker 常用命令总结的更多相关文章
- 关于Docker 常用命令
Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...
- 【Docker】(3)---linux部署Docker、Docker常用命令
linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...
- Docker常用命令(二)
Docker常用命令 查看Docker所有正在运行的容器 docker ps 查看Docker已退出的容器 docker ps -a 查看Docker所有镜像 docker images 删除镜像 删 ...
- Docker应用二:docker常用命令介绍
Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...
- Docker常用命令汇总,和常用操作举例
Docker命令 docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secre ...
- 1021 docker常用命令和Jenkins搭建
docker常用命令 1.镜像管理 docker pull (镜像名) # 默认拉取最新版本的镜像 docker pull (镜像名:版本号) #拉取指定版本的镜像 docker push (镜像名) ...
- Docker 常用命令——镜像
Docker 常用命令 帮助命令 docker version --版本信息 docker info --详细信息 docker --help --帮助 镜像命令 1.doc ...
- docker 常用 命令
http://os.51cto.com/art/201409/451117.htm 2.1 在测试机启动容器,安装ssh docker run -i -t ubuntu /bin/bash #此方式运 ...
- 宿主机 && docker 常用命令
宿主机 && docker 常用命令 1.如果你想快速发现在该主机上使用最多资源的容器(或是最近的所有systemd服务),我推荐systemd-cgtop命令: 2.
随机推荐
- vue学习之路 - 4.基本操作(下)
vue学习之路 - 4.基本操作(下) 简述:本章节主要介绍 vue 的一些其他常用指令. Vue 指令 这里将 vue 的指令分为系统内部指令(vue 自带指令)和用户自定义指令两种. 系统内部指令 ...
- 第22题:链表中倒数第k个结点
题目描述 题目:输入一个链表,输出该链表中倒数第k个结点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点.例如一个链表有6个结点,从头结点开始它们的值依次是1.2.3.4.5 ...
- C/C++程序基础 (三)引用和指针
引用 引用变量与原始变量共享同一地址 int &a = b 则 &a = &b 引用类型的变量必须在声明时初始化,且不可以更换指向变量 常量的引用必须是常量引用,非常量的引用可 ...
- Mysql--数据操作语言(DML)
定义:数据操作语言主要实现对数据库表中的数据进行操作,主要包括插入(insert).更新(update).删除(delete).查询(select),本节主要介绍增删改. 数据准备: 一.数据的插入( ...
- linux 编辑文档
本篇主要分享下vi 命令行的操作: vi /etc/sysconfig/iptabels 首先我们需要理解putty客户端的复制 粘贴 插入文档 退出等命令 复制:指在putty客户端中的选择复制 ...
- Node.js 特点
1.单线程 在Java.PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约2MB内存.也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数 ...
- MySQL批量插入大量数据方法
在MySQL数据库中,如果要插入上百万级的记录,用普通的insert into来操作非常不现实,速度慢人力成本高,推荐使用Load Data或存储过程来导入数据,我总结了一些方法分享如下,主要基于My ...
- 15.VUE学习之-表单中使用key唯一令牌解决表单值混乱问题
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- spring boot 设置tomcat post参数限制
今天传图片,用的base64字符串,POST方法,前端传送的时候总是莫名其妙的崩溃,去网上搜了半天,以为是文件大小被限制了,但是我这个是字符串接收,不是文件接收,于是又继续搜,原来post本身没有参数 ...
- VBA连接到SQL2008需要加上端口号
VBA连接到SQL2008需要加上端口号1433,比如 conn = "server=XXXX.XXXX.XXXX.XXXX,1433;provider=SQLOLEDB.1;databas ...