https://gitee.com/fakerlove/docker

文章目录

  • 2. 入门常用命令
    • 2.1 docker的帮助命令
    • 2.2 docker的镜像命令
      • 查看镜像
      • 搜索镜像
      • 下载镜像
      • 删除镜像
    • 2.3 docker的容器命令
      • 查看所有容器
      • 退出容器
      • 删除容器
      • 启动和停止容器
      • 日志命令
      • 查看容器中的进程信息
      • 进入当前正在运行中的容器
    • 2.4 总结

2. 入门常用命令

Docker官方文档地址:https://hub.docker.com/

2.1 docker的帮助命令

# 查看 docker 的版本
docker version
# 查看 docker 的详细信息(系统信息、镜像和容器的数量)
docker info
# 查看 docker 的所有命令
docker --help

2.2 docker的镜像命令

查看镜像

docker images

具体内容

# 查看所有的本地镜像
[root@izbp10tup89om84qulgxbsz ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        10 months ago       13.3kB# 解释
REPOSITORY  镜像的仓库源
TAG         镜像的标签
IMAGE ID    镜像的ID
CREATED     镜像的创建时间
SIZE        镜像的大小# 可选项
[root@izbp10tup89om84qulgxbsz ~]# docker images --help
Options:-a, --all             Show all images (default hides intermediate images)(列出所有的镜像)-q, --quiet           Only show numeric IDs (只显示镜像的ID)# 列出所有的镜像且只显示ID
[root@izbp10tup89om84qulgxbsz ~]# docker images -aq
bf756fb1ae65

搜索镜像

docker search mysql

具体内容

# 从DockerHub仓库中搜索镜像
[root@izbp10tup89om84qulgxbsz ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10129               [OK]
mariadb                           MariaDB is a community-developed fork of MyS…   3724                [OK]
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   740                                     [OK]# 可选项
[root@izbp10tup89om84qulgxbsz ~]# docker search --help
Options:-f, --filter filter   Filter output based on conditions provided    (搜索过滤)--format string   Pretty-print search using a Go template--limit int       Max number of search results (default 25)--no-trunc        Don't truncate output# 搜索收藏量不小于5000的镜像
[root@izbp10tup89om84qulgxbsz ~]# docker search mysql --filter=STARS=5000
NAME                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql               MySQL is a widely used, open-source relation…   10129               [OK]

下载镜像

docker pull mysql

具体内容

# 下载镜像 docker pull 镜像名[:tag]
[root@izbp10tup89om84qulgxbsz ~]# docker pull mysql
Using default tag: latest       # 如果不指定tag,就会下载最新版的镜像
latest: Pulling from library/mysql
bb79b6b2107f: Pull complete     # 联合文件系统的分层下载
49e22f6fb9f7: Pull complete
842b1255668c: Pull complete
9f48d1f43000: Pull complete
c693f0615bce: Pull complete
8a621b9dbed2: Pull complete
0807d32aef13: Pull complete
a56aca0feb17: Pull complete
de9d45fd0f07: Pull complete
1d68a49161cc: Pull complete
d16d318b774e: Pull complete
49e112c55976: Pull complete
Digest: sha256:8c17271df53ee3b843d6e16d46cff13f22c9c04d6982eb15a9a47bd5c9ac7e2d     # 签名信息(防伪)
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest      # 真实地址 docker pull mysql 等价于 docker pull docker.io/library/mysql:latest# 下载镜像并指定版本
[root@izbp10tup89om84qulgxbsz ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
bb79b6b2107f: Already exists    # 分层下载,该文件块在下载最新版时已经下载了就不会重复下载,极大地节省内存
49e22f6fb9f7: Already exists
842b1255668c: Already exists
9f48d1f43000: Already exists
c693f0615bce: Already exists
8a621b9dbed2: Already exists
0807d32aef13: Already exists
f15d42f48bd9: Pull complete
098ceecc0c8d: Pull complete
b6fead9737bc: Pull complete
351d223d3d76: Pull complete
Digest: sha256:4d2b34e99c14edb99cdd95ddad4d9aa7ea3f2c4405ff0c3509a29dc40bcb10ef
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

版本可以在官方文档中查询:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J7VHZO4b-1610435003700)(picture/20201105170804693.png)]

删除镜像

# 根据镜像的ID删除
[root@izbp10tup89om84qulgxbsz ~]# docker rmi -f 1b12f2e9257b# 删除所有的镜像
[root@izbp10tup89om84qulgxbsz ~]# docker rmi -f $(docker images -aq)

2.3 docker的容器命令

说明:容器需要通过镜像创建,首先下载一个 centos 镜像:

[root@izbp10tup89om84qulgxbsz ~]# docker pull centosdocker run [可选参数] image# 参数说明
--name="Name"    给容器起名
-d              后台方式运行
-it             使用交互方式运行,进入容器查看内容
-p              (小写p)指定容器的端口-p 主机端口:容器端口  (常用)-p 容器端口
-P              (大写P)随机指定端口

启动 centos镜像并进入容器,查看目录并退出容器:

[root@izbp10tup89om84qulgxbsz ~]# docker run -it centos /bin/bash
[root@14ce3ccc03d1 /]#
[root@14ce3ccc03d1 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@14ce3ccc03d1 /]# exit
exit
[root@izbp10tup89om84qulgxbsz ~]#

查看所有容器

docker ps -a

具体内容

# 查看正在运行中的容器
[root@izbp10tup89om84qulgxbsz ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES# 查看所有(正在运行和曾经运行过的)容器
[root@izbp10tup89om84qulgxbsz ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
14ce3ccc03d1        centos              "/bin/bash"         3 minutes ago       Exited (0) About a minute ago                       lucid_robinson
a57b7706a90b        bf756fb1ae65        "/hello"            22 hours ago        Exited (0) 22 hours ago                             jovial_morse# 显示最近创建的1个容器
[root@izbp10tup89om84qulgxbsz ~]# docker ps -a -n=1
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
14ce3ccc03d1        centos              "/bin/bash"         6 minutes ago       Exited (0) 4 minutes ago                       lucid_robinson# 查看所有(正在运行和曾经运行过的)容器,只显示容器的编号
[root@izbp10tup89om84qulgxbsz ~]# docker ps -aq
14ce3ccc03d1
a57b7706a90b

退出容器

# 容器停止并退出
exit
# 容器不停止退出
Ctrl + P + Q

删除容器

# 根据容器id删除容器(不能删除正在运行中的容器)
docker rm 容器id
# 强制删除指定容器(正在运行中的容器也可删除)
docker rm -f 容器id
# 删除所有的容器
docker rm -f $(docker ps -aq)

启动和停止容器

# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id
# 停止当前正在运行中的容器
docker stop 容器id
# 强制停止当前容器
docker kill 容器id

容器的常用其他命令:

后台启动容器:

# 注意:后台启动后,该容器仍然是停止状态
[root@izbp10tup89om84qulgxbsz ~]# docker run -d centos
48af775d21ca29566773af17346cbf5afb7c900546bf4a0de49cde0ae5180021
[root@izbp10tup89om84qulgxbsz ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
48af775d21ca        centos              "/bin/bash"         11 seconds ago      Exited (0) 10 seconds ago                       laughing_mccarthy

日志命令

# 显示指定行数的日志
docker logs -tf --tail 10 fa3301b94b9f# 参数解释
-tf         显示日志
--tail 10   显示日志条数

查看容器中的进程信息

[root@izbp10tup89om84qulgxbsz ~]# docker top fa3301b94b9f
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                20198               20174               0                   14:25               pts/0               00:00:00            /bin/bash

查看容器的元数据信息:

docker inspect fa3301b94b9f

进入当前正在运行中的容器

# 方式1:进入容器后开启一个新的终端
[root@izbp10tup89om84qulgxbsz ~]# docker exec -it fa3301b94b9f /bin/bash
[root@fa3301b94b9f /]#
# 方式2: 进入容器正在进行的终端,不会启动新进程
[root@izbp10tup89om84qulgxbsz ~]# docker attach fa3301b94b9f
[root@fa3301b94b9f /]#

从容器内拷贝文件至主机:

docker cp 容器id:容器内路径 目的主机的路径
  • 在容器的home目录下创建一个文件:
[root@fa3301b94b9f /]# cd home
[root@fa3301b94b9f home]# touch blu.txt
[root@fa3301b94b9f home]# ls
blu.txt
  • 将文件拷贝至主机:
[root@izbp10tup89om84qulgxbsz ~]# docker cp fa3301b94b9f:/home/blu.txt /home
[root@izbp10tup89om84qulgxbsz ~]# cd /home
[root@izbp10tup89om84qulgxbsz home]# ll
total 4
drwx------ 4 blu  blu  4096 Sep 22 22:02 blu
-rw-r--r-- 1 root root    0 Nov  6 14:41 blu.txt

将当前容器制作成镜像:

docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名
1
# 启动 tomcat 镜像
docker run -it -p 8000:8080 tomcat# 进入 tomcat 容器
docker exec -it a181f6fde91f /bin/bash# 将 webapps.dist 下的所有文件复制进 webapps 目录下
cp -r webapps.dist/* webapps# 退出容器,提交镜像
docker commit -a="BLU" -m="add webapps app" a181f6fde91f tomcat-blu:1.0# 查看本地镜像
[root@izbp10tup89om84qulgxbsz ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
tomcat-blu            1.0                 792cfe32fbe1        7 seconds ago       653MB
tomcat                latest              dab3cf97dd54        5 days ago          648MB

2.4 总结

// 列出本地已有镜像
docker images
// 从远端下载镜像
docker pull <image name>
// 使用镜像创建并启动一个容器(若本地没有该镜像,则会先从远端下载,每次run都会生成一个容器,嗯,轻量~)
docker run hub.c.163.com/library/hello-world:latest
//列出正在运行的容器
docker ps
// 列出所有容器(包括Exited)
docker ps -a
// 启动指定的容器
docker start <container id>
// 停止指定的容器
docker stop <container id>
// 停止所有运行中的容器
docker stop $(docker ps -q)
// 删除指定容器
docker rm <container id>
//删除所有容器
docker rm $(docker ps -aq)
//停止并删除容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
// 删除指定镜像(删除镜像前须先停止并删除容器)
docker rmi <image id>
// 重启容器
docker restart <container id>
// 创建一个新的容器并运行一个命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;// 交互运行
docker run -it centos /bin/bash
/bin/bash 是进入到linux中命令行
// 进入容器
docker exec -it centos /bin/bash
// 容器拷贝到主机
docker cp <container id>:文件路径 主机目标路径
// 主机拷贝到容器
docker cp 主机文件路径 <container id>:文件路径
//查看容器IP
docker inspect -f '{{.NetworkSettings.IPAddress}}' centos

docker教程_2 docker常见命令相关推荐

  1. Docker教程(一) Docker入门教程

    Docker教程(一) Docker入门教程 本文链接:https://blog.csdn.net/yuan_xw/article/details/51935278 Docker教程(一) Docke ...

  2. Docker教程(二) Docker环境安装

    Docker教程(二) Docker环境安装 本文链接:https://blog.csdn.net/yuan_xw/article/details/77248243 Docker教程(二) Docke ...

  3. Docker教程(四) Docker镜像构建

    Docker教程(四) Docker镜像构建 本文链接:https://blog.csdn.net/yuan_xw/article/details/77744272 Docker教程(四) Docke ...

  4. Docker教程(三) Docker网络访问和数据管理

    Docker教程(三) Docker网络访问和数据管理 本文链接:https://blog.csdn.net/yuan_xw/article/details/77504077 Docker教程(三) ...

  5. 【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)

    黑马程序员Docker容器化技术,从零学会Docker教程 可以先看1-13课.以及 docker概述 文章目录 docker概述 ubuntu安装docker docker架构 配置docker镜像 ...

  6. 嵌入式Linux开发教程:Linux常见命令(上篇)

    摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...

  7. 极简的docker教程-在docker上运行微服务

    文章目录 用一个简单的demo了解docker构建自定义镜像 首先用docker拉一个nginx 编写一个Dockerfile 构建 查看自己构建的镜像是否成功了 运行 测试 了解一下Dockerfi ...

  8. 【Docker 教程】Docker 创建镜像

    Docker 创建镜像 当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改. 从已经创建的容器中更新镜像,并且提交这个镜像 使用 Dockerfi ...

  9. Ubuntu系统下载docker教程

    Ubuntu系统下载docker教程 安装Docker 在ubuntu系统上安装docker参考https://docs.docker.com/engine/install/ubuntu/ 1.更行a ...

最新文章

  1. solr mysql增量导入_Solr全量与增量导入
  2. systemctl与mysql多实例_mysql mariadb 多版本多实例 开机启动
  3. 树的宽度 递归法和非递归法
  4. 程序员30岁之前如何月入五万
  5. ENSP配置 实例二 单臂路由配置
  6. oracle11g 安装报告,[数据库]oracle11g的standby性能分析报告statpack安装_星空网
  7. Python网络爬虫与信息提取 - requests库入门
  8. VC之fseek函数、ftell函数和rewind函数
  9. 汉字笔画动图怎么做_隶书基本笔画教程(动态图)
  10. 2021年PMP考试模拟题1(含答案)
  11. Win10 安装 Rational Rose
  12. python制作日历并保存成excel_Python+Excel制作精美壁纸日历,任意DIY
  13. pc弹窗宽度_弹窗设计的5条原则
  14. 2022年国赛B题(处女作---河南省级三等奖)
  15. python好用的编程工具
  16. eclipse因jdk打不开解决
  17. springCloud openFeign返回数据转型问题
  18. 服务器开发macbook综述
  19. 判断南红价值,“红“的等级是关键
  20. Arduino语法详解,部分带注释(学习笔记)

热门文章

  1. Linux基于v4l2的视频采集(可用)
  2. android之去掉空包合并
  3. C++之MFC之Unicode转char*
  4. linux服务器学习笔记:linux如何远程登录?
  5. Android Studio实现通讯录项目
  6. 七句话道出做人的底线【精辟】
  7. matlab仿真限幅发散,GSM通信系统性能分析与MATLAB仿真.doc
  8. c语言编写的贪吃蛇代码,刚学C语言,想写一个贪吃蛇的代码
  9. ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)
  10. kafka安装完整步骤_还在寻找Kafka最新的安装教程吗?精细的安装步骤分享给大家...