高山_流水
海阔凭鱼跃,天高任鸟飞

前言:Linux操作系统由内核空间和用户空间组成。

内核空间是kernel,用户空间是rootfs, 不同Linux发行版的区别主要是rootfs.比如 Ubuntu 14.04 使用 upstart 管理服务,apt 管理软件包;而 CentOS 7 使用 systemd 和 yum。这些都是用户空间上的区别,Linux kernel 差别不大。

1.Dockerfile、Docker镜像和Docker容器的关系

Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,而 Docker 容器则可以认为是软件的运行态。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,Dockerfile 面向开发,Docker 镜像成为交付标准,Docker 容器则涉及部署与运维。

通过镜像可以创建一个或多个容器,用另一种便于理解的说法:Docker中的镜像相当于我们日常生活中接触到的操作系统,容器则是基于操作系统上的程序。

容器 = 镜像 + 读写层。并且容器的定义并没有提及是否要运行容器。

2.docker常用命令

  2.1 docker search 镜像名称(镜像搜索)

  2.2 docker images -a (列出所有服务器上的镜像 -a表示把中间层的隐藏镜像也显示出来)

  2.3 docker ps -a (列出服务器上所有的容器,包括停止的容器  -a显示出停止的容器 -n 显示前几个镜像)

  2.4 docker build -t 镜像名称:镜像版本 . (镜像构建,如果不指定镜像版本,默认是latest)

  2.5 docker run --name 容器名称 --rm -it 镜像名称:镜像版本(容器启动  --name为容器设置一个启动名称,不设定系统会自动生成 -it表示启动交互式bashshell并打开标准输入 --rm 会在该容器退出时进行删除)

  2.6 docker exec -it 容器id /bin/bash (在运行的容器内,开启一个shell运行命令,注意这个命令只能用于运行中的容器,容器id通过docker ps -a查看)

  2.7 docker start 容器id(启动容器)

  2.8 docker stop 容器id(关闭容器)

  2.9 docker restart 容器id(重启容器)

  2.10 docker rmi -f 镜像id (删除镜像,-f表示强制删除,可以删除中间层的镜像)

  2.11 docker rm 容器id(删除容器。命令会移除构成容器的可读写层。注意,这个命令只能对非运行态容器执行)

  2.12 docker inspect 容器ID | grep IPAddress(查看容器信息 | grep IPAddress 查看ip信息)

  2.13 docker status 容器名称(监控容器运行状态)

  2.14 docker logs 容器名称(查看容器日志)

3.删除none镜像

  # 停止docker
  docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
  # 删除docker
  docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')
  # 删除images
  docker rmi $(docker images | grep "none" | awk '{print $3}')
4.Docker文件中只能有一个CMD指令。如果列出多个CMD,那么只有最后一个CMD才会生效
 
参考学习链接:
https://cloud.tencent.com/developer/article/1473052
https://cloud.tencent.com/developer/article/1518467
https://help.aliyun.com/document_detail/84095.html?spm=51...y35D&aly_as=_IYKo2QB
https://yq.aliyun.com/articles/219139?spm=5176.10695662.1...bQTN&aly_as=RM0xyLSU
https://blog.csdn.net/qq_23315711/article/details/80873021

 

posted on 2019-11-04 18:19  高山_流水  阅读(198)  评论(0编辑  收藏  举报