阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker命令使用

440次阅读
没有评论

共计 7889 个字符,预计需要花费 20 分钟才能阅读完成。

Docker 命令分类

容器生命周期管理

 - docker run
 - docker start/stop/restart
 - docker kill
 - docker rm
 - docker pause/unpause
 - docker create
 - docker exec

容器操作

 - docker ps
 - docker inspect
 - docker top
 - docker attach
 - docker events
 - docker logs
 - docker wait
 - docker export
 - docker port

容器 rootfs 命令

 - docker commit
 - docker cp
 - docker diff

镜像仓库

 - docker login
 - docker pull
 - docker push
 - docker search

本地镜像管理

 - docker images
 - docker rmi
 - docker tag
 - docker build
 - docker history
 - docker save
 - docker import

版本信息

 - docker version
 - docker info

Dock 命令使用

1. docker version

说明:显示 Docker 版本信息。

2. docker info

说明:显示 Docker 系统信息,包括镜像和容器数。

3. docker search

用法:docker search [options “o”>] term

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

options:

  • –automated 只列出 automated build 类型的镜像;
  • –no-trunc 可显示完整的镜像描述;
  • -s 40 列出收藏数不小于 40 的镜像。

示例:

docker search -s 1000 django

4. docker pull

用法:docker pull [-a “o”>] [user/ “o”>]name[:tag “o”>]

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

options:

  • -a 拉取所有 tag 镜像

示例:

docker pull laozhu/telescope:latest

5. docker login

root@moon:~# docker login
Username: username
Password: ****
Email: user@domain.com
Login Succeeded
按步骤输入在 Docker Hub 注册的用户名、密码和邮箱即可完成登录。

6. docker logout

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

7. docker images

用法:docker images [options “o”>] [name]

说明:列出本地所有镜像。其中 [name] 对镜像名称进行关键词查询。

options:

  • -a 列出所有镜像(含过程镜像);
  • -f 过滤镜像,如:-f [‘dangling=true’] 只列出满足
    dangling=true 条件的镜像;
  • –no-trunc 可显示完整的镜像 ID;
  • -q 仅列出镜像 ID。
  • –tree 以树状结构列出镜像的所有提交历史。

8. docker ps

说明:列出所有运行中容器。

options:

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

9. docker rmi

用法:docker rmi [options “o”>] <image> “o”>[image…]

说明:从本地移除一个或多个指定的镜像。

options:

  • -f 强行移除该镜像,即使其正被使用;
  • –no-prune 不移除该镜像的过程镜像,默认移除。

示例:

docker rmi nginx:latest postgres:latest Python:latest

10. docker rm

用法:docker rm [options “o”>] <container> “o”>[container…]

options:

  • -f 强行移除该容器,即使其正在运行;
  • -l 移除容器间的网络连接,而非容器本身;
  • -v 移除与容器关联的空间。

示例:

docker rm nginx-01 nginx-02 db-01 db-02
sudo docker rm -l /webapp/redis

11. docker history

用法:docker history “o”>[options] <image>

说明:查看指定镜像的创建历史。

options:

  • –no-trunc 显示完整的提交记录;
  • -q 仅列出提交记录 ID。

12. docker start|stop|restart

用法:docker start|stop “p”>|restart [options “o”>] <container> “o”>[container…]

说明:启动、停止和重启一个或多个指定容器。

options:

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

示例:

# 启动已被停止的容器 myrunoob
docker start myrunoob

# 停止运行中的容器 myrunoob
docker stop myrunoob

# 重启容器 myrunoob
docker restart myrunoob

13. docker kill

用法:docker kill “o”>[options “o”>] <container> “o”>[container…]

说明:杀死一个或多个指定容器进程。

options:

  • -s “KILL” 自定义发送至容器的信号。

示例:

# 杀掉运行中的容器 mynginx

runoob@runoob:~$ docker kill -s KILL mynginx
mynginx

14. docker events

用法: docker events [options “o”>]

说明: 从服务器拉取个人动态,可选择时间区间。

示例:

docker events --since= "s2">"20141020"
docker events --until= "s2">"20120310"

15. docker save

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

options:

  • -o 镜像归档 指定保存的镜像归档。

示例:

docker save -o "debian.tar"
docker save > "debian.tar"

16. docker load

用法: docker load [options]

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

options:

  • -i 镜像归档 指定载入的镜像归档。

示例:

docker load < debian.tar
docker load -i "debian.tar"

17. docker export

用法: docker export <container>

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

示例:

docker export nginx-01 > export.tar

18. docker import

用法: docker import url|- “o”>[repository[:tag “o”>]]

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

示例:

cat export.tar  "p">| docker import - imported-nginx:latest
docker import http://example.com/export.tar

19. docker top

用法: docker top <running_container> “o”>[ps options]

说明:查看一个正在运行容器进程,支持 ps 命令参数。

20. docker inspect

说明: 检查镜像或者容器的参数,默认返回 JSON 格式。

options:

  • -f 指定返回值的模板文件。

示例:

docker instpect nginx:latest
docker inspect nginx-container

21. docker pause

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

22. docker unpause

用法: docker unpause <container>

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

23. docker tag

用法: docker tag [options “o”>] <image>[:tag “o”>] [repository/ “o”>][username/]name “o”>[:tag]

说明: 标记本地镜像,将其归入某一仓库。

options:

  • -f 覆盖已有标记。

24. docker push

用法: docker push name[:tag “o”>]

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

示例:

docker push laozhu/nginx:latest

25. docker logs

用法: docker logs [options “o”>] <container>

说明: 获取容器运行时的输出日志。

options:

  • -f 跟踪容器日志的最近更新;
  • -t 显示容器日志的时间戳;
  • –tail=”10″ 仅列出最新 10 条容器日志。

示例:

docker logs -f -t --tail= "s2">"10" insane_babbage

26. docker run

用法: docker run [options “o”>] <image> [“nb”>command] “o”>[arg…]

说明: 启动一个容器,在其中运行指定命令。

options:

  • -a stdin 指定标准输入输出内容类型,可选 STDIN/
    STDOUT / STDERR 三项;
  • -d 后台运行容器,并返回容器 ID;
    • –dns 8.8.8.8 指定容器使用的 DNS 服务器,默认和宿主一致;
    • –dns-search example.com 指定容器 DNS 搜索域名,默认和宿主一致;
  • -i 以交互模式运行容器,通常与 -t 同时使用;
  • -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • -h “mars” 指定容器的 hostname;
  • -e username=”ritchie” 设置环境变量;
    • –expose=[] 待完成
    • –env-file=[] 从指定文件读入环境变量;
  • -c, –cpu-shares CPU 共享设置(相对权重)
    • –cpuset=”0-2″ or –cpuset=”0,1,2″ 绑定容器到指定 CPU 运行
  • -m, –memory 内存限制
    • –name=”nginx-lb” 为容器指定一个名称;
    • –net=”bridge” 指定容器的网络连接类型,支持 bridge /
      host / none
  • container:<name|id> 四种类型;
  • -l, –label=[] 在容器中设置元数据
    • –link=[] 添加链接至另一个容器
  • -w, –workdir= 设置容器内的工作目录

示例:

# 使用 docker 镜像 nginx:latest 以后台模式启动一个容器, 并将容器命名为 mynginx
docker run --name mynginx -d nginx:latest

# 使用镜像 nginx:latest 以后台模式启动一个容器, 并将容器的 80 端口映射到主机随机端口。docker run -P -d nginx:latest

# 使用镜像 nginx:latest 以后台模式启动一个容器, 将容器的 80 端口映射到主机的 80 端口, 主机的目录 /data 映射到容器的 /data。docker run -p 80:80 -v /data:/data -d nginx:latest

#使用镜像 nginx:latest 以交互模式启动一个容器, 在容器内执行 /bin/bash 命令。root@localhost:~# docker run -it nginx:latest /bin/bash
root@b8573233d675:/#

27. docker create

用法: docker create [OPTIONS] IMAGE [COMMAND] [ARG…]

说明: 创建一个新的容器但不启动它

示例:

# 使用 docker 镜像 nginx:latest 创建一个容器, 并将容器命名为 myrunoob

root@localhost:~# docker create  --name myrunoob  nginx:latest      
09b93464c2f75b7b69f83d56a9cfc23ceb50a48a9db7652ee4c27e3e2cb1961f

28. docker exec

用法: docker exec [OPTIONS] CONTAINER COMMAND [ARG…]

说明: 在运行的容器中执行命令

options:

  • -d : 分离模式: 在后台运行
  • -i : 即使没有附加也保持 STDIN 打开
  • -t : 分配一个伪终端

示例:

# 在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本
root@localhost:~# docker exec -it mynginx /bin/sh /root/runoob.sh
http://www.runoob.com/

在容器 mynginx 中开启一个交互模式的终端
root@localhost:~# docker exec -i -t  mynginx /bin/bash
root@b1a0703e41e7:/#

29. docker commit

用法: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

说明: 从容器创建一个新的镜像

options:

  • -a : 提交的镜像作者;
  • -c : 使用 Dockerfile 指令来创建镜像;
  • -m : 提交时的说明文字;
  • -p : 在 commit 时,将容器暂停。

示例:

# 将容器 a404c6c174a2 保存为新的镜像, 并添加提交人信息和说明信息。root@localhost:~# docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057

root@localhost:~# docker images mymysql:v1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mymysql             v1                  37af1236adef        15 seconds ago      329 MB

30. docker cp

用法:

  • docker cp [OPTIONS] CONTAINER: SRC_PATH DEST_PATH|-
  • docker cp [OPTIONS] SRC_PATH|- CONTAINER: DEST_PATH

说明: 用于容器与主机之间的数据拷贝

options:

  • -L : 保持源目标中的链接

示例:

# 将主机 /www/runoob 目录拷贝到容器 96f7f14e99ab 的 /www 目录下。docker cp /www/runoob 96f7f14e99ab:/www/

# 将主机 /www/runoob 目录拷贝到容器 96f7f14e99ab 中,目录重命名为 www。docker cp /www/runoob 96f7f14e99ab:/www

# 将容器 96f7f14e99ab 的 /www 目录拷贝到主机的 /tmp 目录中。docker cp  96f7f14e99ab:/www /tmp/

31. docker diff

用法: docker diff [OPTIONS] CONTAINER

说明: 检查容器里文件结构的更改

示例:

# 查看容器 mymysql 的文件结构更改。root@localhost:~# docker diff mymysql

A /logs
A /mysql_data
C /run
C /run/mysqld
A /run/mysqld/mysqld.pid
A /run/mysqld/mysqld.sock
C /tmp

32. docker port

用法: docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

说明: 列出指定的容器的端口映射,或者查找将 PRIVATE_PORT NAT 到面向公众的端口

示例:

# 查看容器 mynginx 的端口映射情况。root@localhost:~# docker port mymysql
3306/tcp -> 0.0.0.0:3306

33. docker attach

用法: docker attach [OPTIONS] CONTAINER

说明: 连接到正在运行中的容器, 要 attach 上去的容器必须正在运行,可以同时连接上同一个 container 来共享屏幕

示例:

# 容器 mynginx 将访问日志指到标准输出,连接到容器查看访问信息。root@localhost:~# docker attach --sig-proxy=false mynginx
192.168.239.1 - - [10/Jul/2016:16:54:26 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-"

更多 Docker 相关教程见以下内容

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 16.04 服务器上配置使用 Docker  http://www.linuxidc.com/Linux/2017-06/145176.htm 

Ubuntu 15.04 下安装 Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm 

Docker 安装实例 http://www.linuxidc.com/Linux/2017-04/142666.htm 

Docker 创建基础镜像  http://www.linuxidc.com/Linux/2017-05/144112.htm 

在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm 

Ubuntu 16.04 上 Docker 使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm 

使用 Docker 分分钟启动常用应用  http://www.linuxidc.com/Linux/2017-04/142649.htm 

Ubuntu 16.04 下 Docker 修改配置文件不生效解决办法  http://www.linuxidc.com/Linux/2017-05/143862.htm 

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148372.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计7889字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7993607
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...