Kylin-lawliet

搜索镜像

网页搜索

命令搜索

docker search xx

输出列含义如下:

  • NAME:镜像仓库名称。
  • DESCRIPTION:镜像仓库描述。- STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0
  • OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维
    护。
  • AUTOMATED:表示是否是自动构建的镜像仓库。

下载镜像

docker pull <镜像名:tag>
docker pull centos 下载centos镜像
docker pull <镜像名:tag>:latest 下载最新版本
docker pull <镜像名:tag>:5.7 下载指定版本

查看已下载镜像

docker images

说明:

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

输出列含义如下

  • REPOSITORY:镜像所属仓库名称。
  • TAG:镜像标签。默认是 latest,表示最新。
  • IMAGE ID:镜像 ID,表示镜像唯一标识。
  • CREATED:镜像创建时间。
  • SIZE: 镜像大小。
docker exec -ti percona mysql -u root -p

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

查看容器日志

docker logs -f <容器名 or ID>
docker container <容器名 or ID>

查看容器所有信息

docker inspect <容器名 or ID>

查看容器里的进程

docker top  <容器名 or ID>

查看正在运行的容器

docker ps

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

如需列出所有容器(包括已停止的容器),可使用-a参数。该列表包含了7列,含义如下

  • CONTAINER_ID:表示容器 ID。
  • IMAGE:表示镜像名称。
  • COMMAND:表示启动容器时运行的命令。
  • CREATED:表示容器的创建时间。
  • STATUS:表示容器运行的状态。UP表示运行中, Exited表示已停止。
  • PORTS:表示容器对外的端口号。- NAMES:表示容器名称。该名称默认由 Docker自动生成,也可使用 docker run命令的–name选项自行指定。

查看所有的容器,包括已经停止的。

具体参数参考上一个命令解释

docker ps -a

查看容器ip

docker inspect 容器ID | grep IPAddress

查看所有容器ip

docker inspect -f='{{.NetworkSettings.IPAddress}}' $(sudo docker ps -a -q)

列出所有容器对应的名称,端口,及ip

docker inspect -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}' $(docker ps -aq)

查看docker name

docker inspect -f='{{.Name}}' $(sudo docker ps -a -q)

新建并启动一个容器

docker run -d <Other Parameters>
docker run -d -p 127.0.0.1:33301:22 centos6-ssh

说明:

  • -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 exec命令用于进入一个正在运行的docker容器。如果docker run命令运行容器的时候,没有使用-it参数,就要用这个命令进入容器。一旦进入了容器,就可以在容器的 Shell执行命令了

docker exec -it <ID> /bin/bash

删除本地一个或多少镜像

docker rmi [OPTIONS] IMAGE [IMAGE...]

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

删除容器

该命令只能删除已停止的容器,如需删除正在运行的容器,可使用-f参数

docker rm <容器名 or ID>

说明:

  • -f :通过SIGKILL信号强制删除一个运行中的容器
  • -l :移除容器间的网络连接,而非容器本身
  • -v :-v 删除与容器关联的卷

删除所有容器

docker rm $(docker ps -a -q)

停止、启动、杀死指定容器

使用docker run命令,即可新建并启动一个容器。对于已停止的容器,可使用 docker start命令来启动

docker start <容器名 or ID> # 启动容器 
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器

重启docker服务

service docker restart

在运行的容器中执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

说明:

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

暴露端口: 一共有三种形式进行端口映射

  • 映射本机3306端口到容器的3306端口 docker -p 127.0.0.1:3306:3306
    docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
  • 映射本机的随机可用端口到容器3306端口 docker -p 127.0.0.1::3306
    docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
  • 映射本机的3306端口到容器的3306端口 docker -p 3306:3306
    docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口

映射数据卷

docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址

build 命令用于使用 Dockerfile 创建镜像

docker build [OPTIONS] PATH | URL | -

OPTIONS说明:
–build-arg=[] :设置镜像创建时的变量;
–cpu-shares :设置 cpu 使用权重;
–cpu-period :限制 CPU CFS周期;
–cpu-quota :限制 CPU CFS配额;
–cpuset-cpus :指定使用的CPU id;
–cpuset-mems :指定使用的内存 id;
–disable-content-trust :忽略校验,默认开启;
-f :指定要使用的Dockerfile路径;
–force-rm :设置镜像过程中删除中间容器;
–isolation :使用容器隔离技术;
–label=[] :设置镜像使用的元数据;
-m :设置内存最大值;
–memory-swap :设置Swap的最大值为内存+swap,”-1”表示不限swap;
–no-cache :创建镜像的过程不使用缓存;
–pull :尝试去更新镜像的新版本;
–quiet, -q :安静模式,成功后只输出镜像 ID;
–rm :设置镜像成功后删除中间容器;
–shm-size :设置/dev/shm的大小,默认值是64M;
–ulimit :Ulimit配置。
–tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
–network: 默认 default。在构建期间设置RUN指令的网络模式

分类:

技术点:

相关文章: