Docker常用命令整理

来源:互联网 发布:淘宝畅易阁抢号 编辑:程序博客网 时间:2024/06/01 12:03

docker基本信息查询

# 查看docker版本$docker version# 显示docker系统的信息$docker info

镜像管理

查找image

从 Docker Hub 中搜索符合条件的镜像。

docker search [options ] termdocker search -s  django--automated 只列出 automated build类型的镜像;--no-trunc 可显示完整的镜像描述;-s 40 列出收藏数不小于40的镜像。

上传image

从 Docker Hub 中拉取或者更新指定镜像。

docker pull [-a ] [user/ ]name[:tag ]docker pull laozhu/telescope:latest-a 拉取所有 tagged 镜像 。

将镜像推送至远程仓库

docker push name[:tag ]docker push laozhu/nginx:latest

将镜像推送至远程仓库,默认为 Docker Hub 。

列出本地所有镜像

docker images [options ] [name]列出本地所有镜像。其中 [name] 对镜像名称进行关键词查询。-a 列出所有镜像(含过程镜像);-f 过滤镜像,如: -f ['dangling=true'] 只列出满足dangling=true 条件的镜像;--no-trunc 可显示完整的镜像ID-q 仅列出镜像ID--tree 以树状结构列出镜像的所有提交历史。

删除image

docker rmi [options ] <image>  [image...]docker rmi nginx:latest postgres:latest python:latest从本地移除一个或多个指定的镜像。-f 强行移除该镜像,即使其正被使用;--no-prune 不移除该镜像的过程镜像,默认移除。

保存/加载镜像

docker savedocker save -i "debian.tar"docker save > "debian.tar"-o "debian.tar" 指定保存的镜像归档。

将指定镜像保存成 tar 归档文件, docker load 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。

docker loaddocker load [options]docker load < debian.tardocker load -i "debian.tar"-i "debian.tar" 指定载入的镜像归档。

从 tar 镜像归档中载入镜像, docker save 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。

导出/导入镜像

docker exportdocker export <container>docker export nginx-01 > export.tar

将指定的容器保存成 tar 归档文件, docker import 的逆操作。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。

docker importdocker import url|-  [repository[:tag ]]cat export.tar  "p">| docker import - imported-nginx:latestdocker import http://example.com/export.tar

从归档文件(支持远程文件)创建一个镜像, export 的逆操作,可为导入镜像打上标签。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。

查看指定镜像的创建历史

docker history  [options] <image>--no-trunc 显示完整的提交记录;-q 仅列出提交记录ID

容器管理

查看容器

docker ps-a 列出所有容器(含沉睡镜像);--before="nginx" 列出在某一容器之前创建的容器,接受容器名称和ID作为参数;--since="nginx" 列出在某一容器之后创建的容器,接受容器名称和ID作为参数;-f [exited=<int>] 列出满足exited=<int> 条件的容器;-l 仅列出最新创建的一个容器;--no-trunc 显示完整的容器ID-n=4 列出最近创建的4个容器;-q 仅列出容器ID-s 显示容器大小。

删除容器

docker rm [options ] <container>  [container...]docker rm nginx-01 nginx-02 db-01 db-02sudo docker rm -l /webapp/redis#删除所有容器docker rm $(docker ps -a -q)-f 强行移除该容器,即使其正在运行;-l 移除容器间的网络连接,而非容器本身;-v 移除与容器关联的空间。

杀死容器

docker kill  [options ] <container>  [container...]杀死一个或多个指定容器进程。-s "KILL" 自定义发送至容器的信号。

启动、停止和重启一个或多个指定容器

docker stop <容器名orID>docker start <容器名orID>docker restart<容器名orID>-a 待完成-i 启动一个容器并进入交互模式;-t 10 停止或者重启容器的超时时间(秒),超时后系统将杀死进程。停止、启动、杀死一个容器

启动一个新的容器

注意:此命令比较常用

Usage: docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]   -a=map[]: 附加标准输入、输出或者错误输出  -c=0: 共享CPU格式(相对重要)  -cidfile="": 将容器的ID标识写入文件  -d=false: 分离模式,在后台运行容器,并且打印出容器ID  -e=[]:设置环境变量  -h="": 容器的主机名称  -i=false: 保持输入流开放即使没有附加输入流  -privileged=false: 给容器扩展的权限  -m="": 内存限制 (格式:<number><optional unit>, unit单位 = b, k, m or g)  -n=true: 允许镜像使用网络  -p=[]: 匹配镜像内的网络端口号  -rm=false:当容器退出时自动删除容器 (不能跟 -d一起使用)  -t=false: 分配一个伪造的终端输入  -u="": 用户名或者ID  -dns=[]: 自定义容器的DNS服务器  -v=[]: 创建一个挂载绑定:[host-dir]:[container-dir]:[rw|ro].如果容器目录丢失,docker会创建一个新的卷  -volumes-from="": 挂载容器所有的卷  -entrypoint="": 覆盖镜像设置默认的入口点  -w="": 工作目录内的容器  -lxc-conf=[]: 添加自定义-lxc-conf="lxc.cgroup.cpuset.cpus = 0,1" -sig-proxy=true: 代理接收所有进程信号(even in non-tty mode)  -expose=[]: 让你主机没有开放的端口  -link="": 连接到另一个容器(name:alias)  --name="": 分配容器的名称,如果没有指定就会随机生成一个  -P=false: Publish all exposed ports to thehost interfaces 公布所有显示的端口主机接口

暂停容器/恢复容器

docker pause

暂停某一容器的所有进程。

docker unpause <container>

恢复某一容器的所有进程。

仓库管理

docker loginroot@moon:~# docker loginUsername: usernamePassword: ****Email: user@domain.comLogin Succeeded

按步骤输入在 Docker Hub 注册的用户名、密码和邮箱即可完成登录。

docker logout

运行后从指定服务器登出,默认为官方服务器。

提交容器镜像(带唯一编号进行提交)

docker commit
0 0
原创粉丝点击