【Docker学习笔记3Day】- 基础命令

拉取镜像

docker pull : 从镜像仓库中拉取或者更新指定镜像

常用命令:

  • -a :拉取所有 tagged 镜像
  • –disable-content-trust :忽略镜像的校验,默认开启

实例:

从Docker Hub下载ubuntu最新版镜像。

docker pull ubuntu

从Docker Hub下载REPOSITORY为ubuntu的所有镜像。

docker pull -a ubuntu

从Docker Hub下载ubuntu指定版本版镜像。

docker pull ubuntu:16.04

查看镜像

docker images : 列出本地镜像。

常用命令:

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

实例:

列出本地镜像中REPOSITORY所有的镜像列表。

docker images

列出本地镜像中REPOSITORY为ubuntu的镜像列表。

docker images ubuntu

删除镜像

docker rmi :删除一个或多个镜像。

常用命令:

  • -f :通过 SIGKILL 信号强制删除一个运行中的容器。

实例:

删除镜像 ubuntu

docker rmi ubuntu

强制删除镜像 ubuntu

docker rmi -f ubuntu

运行镜像 -(生成容器)

docker run :创建一个新的容器并运行一个命令

常用命令:

  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口;
  • –name=“nginx-lb”: 为容器指定一个名称;
  • –expose=[]: 开放一个端口或一组端口;

实例:

使用docker镜像以交互模式运行容器。

docker run -it ubuntu

使用docker镜像nginx:latest(镜像名称:版本)以后台模式启动一个容器,并将容器命名为mynginx。

docker run --name mynginx -d nginx:latest

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

docker run --name mynginx -d nginx:latest

绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。

docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

docker run -it nginx:latest /bin/bash

创建容器

docker create :创建一个新的容器但不启动它

命令同 run

启动容器

docker start :启动一个或多个已经被停止的容器

实例:

启动已被停止的容器myrunoob

docker start myrunoob

停止容器

docker stop :停止一个运行中的容器

实例:

停止运行中的容器myrunoob

docker stop myrunoob

重启容器

docker restart :重启容器

实例:

重启容器myrunoob

docker restart myrunoob

删除容器

docker rm :删除一个或多个容器。

常用命令:

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

实例:

删除容器 ubuntu

docker image rm ubuntu

强制删除容器 ubuntu

docker image rm -f ubuntu

删除所有已经停止的容器:

docker rm $(docker ps -a -q)

查看容器

docker ps : 列出容器

常用命令:

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

实例:

查看已运行的容器信息

docker ps  

查看所有的容器信息,包括未运行的。

docker ps -a

连接容器

docker attach :连接到正在运行中的容器。

实例:

连接到id为a21a4335bf61的容器

docker attach a21a4335bf61

获取长容器ID

docker inspect : 获取容器/镜像的元数据。

常用命令:

  • -f :指定返回值的模板文件。
  • -s :显示总的文件大小。
  • –type :为指定类型返回JSON。

实例:

查看focused_morse容器的长ID

docker inspect -f '{{.ID}}' focused_morse

拷贝本地文件到容器

docker cp :用于容器与主机之间的数据拷贝。

常用命令:

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

实例:

将主机/xxx/runoob目录拷贝到容器96f7f14e99ab的/xxx目录下。

docker cp /xxx/runoob 96f7f14e99ab:/xxx/

将主机/xxx/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为xxx。

docker cp /xxx/runoob 96f7f14e99ab:/xxx

将容器96f7f14e99ab的/xxx目录拷贝到主机的/tmp目录中。

docker cp  96f7f14e99ab:/xxx/tmp/

打包创建 镜像

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

常用命令:

  • -f :指定要使用的Dockerfile路径;
  • –rm :设置镜像成功后删除中间容器;
  • –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

实例:

使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1,保存当前目录

docker build -t runoob/ubuntu:v1 .

使用指定/path/to/a/目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1,保存当前/home/xxx目录

docker build -f /path/to/a/Dockerfile -t runoob/ubuntu:v1 /home/xxx

导出镜像

docker save : 将指定镜像保存成 tar 归档文件。

常用命令:

-o :输出到的文件。

实例:

将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档

docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3

将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档,保存在/home/目录下

docker save  runoob/ubuntu:v3 > /home/my_ubuntu_v3.tar

导入镜像

docker load : 导入使用 docker save 命令导出的镜像。

常用命令:

  • –input , -i : 指定导入的文件,代替 STDIN。
  • –quiet , -q : 精简输出信息。

实例:

将镜像 my_ubuntu_v3.tar文件,导入docker

docker load < /home/my_ubuntu_v3.tar
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章