Docker入门

一、简单概念

    Docker镜像(Images):用于创建Docker容器的模板,类比于类

    Docker容器(Container):独立运行的一个或一组应用,类比于对象

    Docker客户端(Client):通过命令行或其他工具调用Docker API

    Docker主机(Host):用于执行守护进程和容器,可以看出Docker采用C/S架构来管理容器

    Docker仓库(Registry):保存镜像,类似代码仓库

二、安装

    直接官网下载安装或使用命令行工具yum,Homebrew等安装

三、镜像

    要运行一个容器必须要先有镜像,好比创建一个对象必须先有类。

    镜像名=镜像仓库:镜像标签

    1.列出本地镜像

    docker images [镜像仓库:镜像标签]   

  • -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  • --digests :显示镜像的摘要信息;
  • -f :显示满足条件的镜像;
  • --format :指定返回值的模板文件;
  • --no-trunc :显示完整的镜像信息;
  • -q :只显示镜像ID。

   

    2. 搜索仓库里的镜像

    docker search [镜像] 

  • --automated :只列出 automated build类型的镜像;
  • --no-trunc :显示完整的镜像描述;
  • -s :列出收藏数不小于指定值的镜像

  

    3. 拖取镜像到本地

    docker pull [镜像] 

   

    4. 删除本地镜像

    docker rmi [镜像名]

  • -f :强制删除;
  • --no-prune :不移除该镜像的过程镜像,默认移除;

    

    5. 通过现有容器创建镜像

    docker commit -m="描述信息" -a="镜像作者" [容器ID] [镜像名]   

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

   

    6. 通过Dockerfile创建镜像

    docker build -t [镜像名] [包含Dockerfile的目录的绝对路径或用.表示当前路径]    

  •     --cpu-shares :设置 cpu 使用权重;
  •     -m :设置内存最大值;
  •     -f :指定要使用的Dockerfile路径;
  •     --pull :尝试去更新镜像的新版本
  •     --rm :设置镜像成功后删除中间容器;

   

    7.设置镜像标签

    docker tag (IMAGE ID) (REPOSITORY):(TAG)

 

四、容器

    1.启动容器

    docker run [-p 主机:80:80] [-v 主机目录:容器目录] 镜像名 [COMMAND]

    -p将主机的80端口绑定容器的80端口

    -P随机映射到主机高端口

    -v将主机目录挂载到容器目录

 

  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="name": 为容器指定一个名称;
  • -h "mars": 指定容器的hostname;
  • -e username="name": 设置环境变量;
  • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • --link=[]: 添加链接到另一个容器;
  • --expose=[]: 开放一个端口或一组端口;

 

    2.退出交互式容器

    $exit

  

    3. 在运行的容器中执行命令

    docker exec

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

   * 开启一个交互模式的终端:~$ docker exec -i -t nginx /bin/bash  

   

    4.  列出容器

    docker ps

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • --format :指定返回值的模板文件。
  • -l :显示最近创建的容器。
  • -n :列出最近创建的n个容器。
  • --no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小。

   5. 列出端口映射

    docker port

  • inspect:获取镜像的元信息
  • top:查看容器中运行的进程信息
  • logs:获取容器的日志

    6. 连接到正在运行的容器

    docker attach

     CTRL-C可以退出容器交互界面但是容器会stop,可以设置--sig-proxy=false来退出且不stop容器

 

    7.其他生命周期命令

    docker start/stop/restart/kill/rm/pause/unpause 容器名

你可能感兴趣的:(Docker入门)