ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-02-27 19:09:04  阅读:206  来源: 互联网

标签:容器 runoob xxx 笔记 ubuntu 镜像 Docker 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
橙皮鸡蛋 发布了77 篇原创文章 · 获赞 237 · 访问量 30万+ 私信 关注

标签:容器,runoob,xxx,笔记,ubuntu,镜像,Docker,docker,3Day
来源: https://blog.csdn.net/qq_23934063/article/details/104539457

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有