镜像

拉取镜像(下载镜像)

镜像是层次型的,拉取的时候会按照各层分别拉取。
每一个镜像都有自己的散列值,用来唯一标记一层镜像,可以用来判断本地是否已经拉取过此镜像层,如果已经拉取,则直接使用。

docker image pull centos:7      #拉取镜像centos:7

输出:
7: Pulling from library/centos #
ab5ef0e58194: Pull complete #先下载压缩包,再解压,最后显示Pull complete
Digest: sha256:4a701376d03f6b39b8c2a8f4a8e499441b0d567f9ab9d58e4991de4472fb813c #镜像的散列值
Status: Downloaded newer image for centos:7
docker.io/library/centos:7
[root@localhost ~]# docker image pull nginx
Using default tag: latest
latest: Pulling from library/nginx
68ced04f60ab: Pull complete #这里代表这个镜像那个有三层
28252775b295: Pull complete
a616aa3b0bf2: Pull complete
Digest: sha256:2539d4344dd18e1df02be842ffc435f8e1f699cfc55516e2cf2cb16b7a9aea0b
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

查看镜像

[root@localhost ~]# docker image ls     #查看所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 6678c7c2e56c 2 weeks ago 127MB
centos 7 5e35e350aded 4 months ago 203MB #解释
#IMAGE ID:镜像的ID(唯一标识镜像), 如果两个镜像的ID 相同, 说明它们实际上指向了同一个镜像 #参数
-a #显示所有镜像(包括中间层镜像)
-q #只显示IMAGE ID
docker images       #和docker image ls一样
[root@localhost ~]# docker image history 5e35       #查看镜像构建历史
IMAGE CREATED CREATED BY SIZE COMMENT
5e35e350aded 4 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 4 months ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
<missing> 4 months ago /bin/sh -c #(nop) ADD file:45a381049c52b5664… 203MB
  • 在Docker中,镜像和容器都有自己的散列值,我们输入前面几个散列值既可操作这个镜像和容器。如上例中的5e35
docker inspect 5e35     #查看镜像或容器的详细信息
docker search centos      #在仓库中搜索centos的镜像
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 5892 [OK]
ansible/centos7-ansible Ansible on Centos7 128 [OK]
jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 114 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session… 111 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 71
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 58 [OK] #解释:
#NAME:镜像名
#DESCRIPTION:代表镜像描述
#STARS:标星数(标星数越大代表越多人关注) #参数:
docker search --filter=stars=100 centos #只显示100星以上的镜像

修改镜像tag

docker image tag centos:7 centos:eagle      #将centos:7的tag改为centos:eagle

删除镜像

docker image rm centos:7    #删除镜像centos:7

导入导出镜像

  • 导出
docker image save -o /root/centos_7.tar centos:7
  • 导入
docker image load -i centos_7.tar

容器

容器是一个动态的,是根据镜像启动的。就好像一个应用。

从一个例子入门
docker run centos:7 echo 'Hello world'      #根据镜像centos:7启动一个容器
#默认前台启动,输出'Hello world'之后退出

通常情况下,会运行一个后台程序:如nginx,我们希望容器后台运行:

[root@localhost ~]# docker container run -d -it centos:7        #根据镜像centos:7后台运行容器
d29b0344b210bec7d251beb30a392c4d9bf384a8e8a81ab22eaa9d86ca88c6ba #容器的散列值,唯一标记该容器 #参数解释:
-d #后台运行
-it #分配一个交互界面(否则无法进入)
docker exec -it d29b bash       #进入容器d29b

#参数解释:
-it #分配一个交互界面(否则无法进入)
bash #使用bash进行交互
  • 退出容器使用命令exit
运行容器
docker container run -d -it centos:7 bash
-it #分配一个交互界面(否则无法进入)(通常和参数bash一起用)
bash #使用bash进行交互(通常和参数-it一起用)
--name mycentos #给容器命名为mycentos
-h fight #设置容器主机名
-d #后台运行(可使用-it前台运行),并返回ID
--rm #运行结束之后删除容器
--privileged #给予特权
停止容器
docker container stop 9f4s	#不会删除存储层
启动容器
docker container start d29b     #启动
docker container restart d29b #重启
删除容器
docker container rm 9f4s    #删除一个已经退出的容器
-f #强制删除一个容器(即使正在运行)
查询容器
docker container ls     #查看Up状态的容器
-a #查看所有容器(包括退出的容器)
-q #只显示容器id
docker container inspect 04b7 #查看容器的详细信息

Docker网络管理

容器默认连接到docker0这个网段(可以使用ip a查看)

  • 容器网络设置
--network	#指定网络(默认docker0)
--ip #指定ip(docker0不支持指定)
  • 容器端口映射
docker container run --name web1 -p 8080:80 -d nginx    #将本机的8080端口 映射到 容器的80端口
firewall-cmd --add-port=8080/tcp
firewall-cmd --add-port=8080/tcp --per
#测试:http://192.168.191.131:8080/ (替换成你的CentOS的地址)
  • 其他网络参数
-p 192.168.159.129::80/udp	#随机分配一个端口,并指定协议
-P #随机端口映射
--dns 11.11.11.11 #指定容器的DNS服务器

导出导入容器

docker container export -o /root/centos_eagle.tar 088c      #导出容器
docker import centos_eagle.tar #导入容器(导入后成为一个镜像,没有名字,也没有tag,可以使用tag命令修改)

17-Docker镜像和容器操作的更多相关文章

  1. docker镜像和容器的导出导入

    本文介绍docker镜像和容器的导入导出,用于迁移.备份.升级等场景.主要用到export.import.save.load四个方法. 原文地址:代码汇个人博客 http://www.codehui. ...

  2. Docker镜像和容器

    本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...

  3. docker镜像与容器

    目录 docker镜像与容器 概述 分层存储 镜像与容器 删除镜像与容器 将容器中的改动提交到镜像 慎用 docker commit--构建镜像推荐使用dockerfile docker镜像与容器 概 ...

  4. 三、Docker镜像的相关操作

    原文:三.Docker镜像的相关操作 一.查看本地镜像: docker images 二.使用某个镜像来运行容器: docker run -t -i xxxx(镜像名):xx.xx(版本,不带即最新) ...

  5. docker系列四之docker镜像与容器的常用命令

    docker镜像与容器的常用命令 一.概述   docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人 ...

  6. Docker容器化【Docker镜像与容器相关命令】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  7. docker 入门(docker 镜像 、容器、仓库)

    一.关于docker 镜像 .容器.仓库之间的关系 镜像(Image): 类似于虚拟机 的镜像 容器(Container): 类似于操作系统(或者说是独立的软件), 由镜像可以创建大量的容器. 仓库( ...

  8. 【docker专栏8】使用IDEA远程管理docker镜像及容器服务

    使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员.测试人员),这种情况下图形界面就有 ...

  9. 快速批量删除 docker 镜像或容器

    原文:快速批量删除 docker 镜像或容器 点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~ docker 本身并没有提供批量删除的功能,当有大量的镜像或者容器需要删除的时候,手 ...

  10. Docker镜像与容器的常用操作

    Docker镜像加速配置:Docker镜像常用操作:Dcoker容器常用操作. 镜像加速器 国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.国内很多云服务商都提供了国内加 ...

随机推荐

  1. dotnet 警惕使用 StackTrace 加获取方法标记 Attribute 特性在 Release 下被内联

    大家都知道,在 dotnet 里的 Debug 下和 Release 下的一个最大的不同是在 Release 下开启了代码优化.启用代码优化,将会对生成的 IL 代码进行优化,同时优化后的 IL 也会 ...

  2. dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值的变量

    如果使用某个变量去获取某个类型的对象创建,但是在这个类型的构造函数调用时抛出异常,请问此变量是否可以拿到对应的对象 如下面代码 private void F1() { Foo foo = null; ...

  3. 简化 Python 日志管理:Loguru 入门指南

    简化 Python 日志管理:Loguru 入门指南 在开发和维护软件项目时,高效的日志管理系统对于监控应用程序的行为.调试代码和追踪异常至关重要.Python 的标准日志模块虽然功能强大,但其配置和 ...

  4. SAP集成技术(三)接口管理的挑战

    接口管理不是一个新概念,在云应用出现之前,就有接口管理问题,和混合场景相比,不同应用间的集成更为常见.经典的问题包括:哪个工具是我的使用场景中的正确选择?如何操作我的集成平台?如何设计组织?以及如何保 ...

  5. Linux中的touch命令

    Linux中一个文件有3种时间属性,分别是mtime,ctime,atime: modification time (mtime) 当该文件的『内容数据』变更时,就会升级这个时间!内容数据指的是文件的 ...

  6. Docker服务搭建个人音乐播放器Koel(及马里奥游戏)

    Koel简介 Koel是一种简单的基于Web的个人音频流服务,用客户端的Vue和服务器端的Laravel编写.针对Web开发人员,Koel采用了一些更现代的Web技术来完成其工作 搭建步骤 docke ...

  7. 【漏洞分析】HPAY 攻击事件分析

    背景 造成本次攻击的原因是关键函数的鉴权不当,使得任意用户可以设置关键的变量值,从而导致攻击的发生. 被攻击合约:https://www.bscscan.com/address/0xe9bc03ef0 ...

  8. Cesium教程10-把影像和天空改成背景图片

    在使用Cesium引擎时,我们经常要使用大屏适配导致地球或者模型的黑色天空盒和大屏的样式不匹配造成场景不好看的情况,这样就可以用到我们修改Cesium的天空为纯色背景,与大屏更适配,直接上代码. &l ...

  9. Windows10 在Hyper-V安装lnmp环境docker方式

    1.启用win10虚拟化hyper-v 2.安装docker win10 https://hub.docker.com/editions/community/docker-ce-desktop-win ...

  10. 痞子衡嵌入式:从JLink V7.62开始优化了手动增加新MCU型号支持方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是JLink 7.62优化了手动增加新MCU型号支持方法. JLink 工具可以说是搞单片机开发的必备神器,JLink 包括一个硬件仿真器 ...