1 Docker基本使用说明

一 、Docker概述

有别于虚拟机的工作原理,Docker的技术主要通过以层的方式存储镜像,将需要保存的状态记录下来,在镜像不改变的前提下,所有操作都在存储层完成,实现环境和系统状态的快速恢复,相比虚拟机技术,Docker有着很多优点,例如占用空间相对较小,性能优势明显,恢复速度快等。

Docker中有三个概念:

1.Repository 仓库:Repository用来存储镜像,分为公有库和私有库,由Docker负责维护一个公有库,其中包含众多安全可靠的镜像文件,用户可以通过网络直接下载使用。同时为了解决国外服务器访问速度慢的问题,国内阿里,腾讯等公司纷纷同步了他的镜像,对于访问速度有所提升。对于没有外网访问或只想做项目管理,快速测试迭代等工作,可以在局域网内搭建私有库,解决实际工作中的需要。

2.image 镜像:Docker中的镜像和虚拟光盘的ISO镜像不一样,这个镜像可以是一个文件目录,也可以是一个可以运行的操作系统。镜像在存储时是分层的,每一个镜像(层)存储特定的内容,后续的操作保留后会覆盖前一个镜像(层),所以操作修改只能在当前镜像(层)执行,无法修改之前的镜像(层)。

3.container 容器:容器实际是一个进程,把镜像启动运行起来,就叫做容器,镜像和容器的关系跟java中的类和实例很相似。

 

二 、Docker安装

首先Docker分为两个大版本,CE和EE,CE是免费的社区版,EE是付费的企业版,我们使用CE就可以。

Docker安装分在线和离线两种方式,如果服务器能够连接网络,可以直接通过网络安装,省时省力。

以centos为例:

yum install docker-ce

因为现在局域网不能访问网络,所以重点介绍离线安装的方式。仍然以centos为例:

1.准备离线安装包,docker-18.06.3-ce.tgz,不要使用rpm版本,因为在非联网状态下,rpm需要更新大量依赖,非常麻烦。

2.tar vzxf docker-18.06.3-ce.tgz 将解压的文件都拷贝到/usr/local/bin 目录下。

3.可以使用root用户操作,也可以单独创建一个操作docker的用户。

4.更新/etc/profile或用户的.bashrc文件,将/usr/local/bin添加到环境变量中。

5.执行/usr/local/bin/dockerd &,启动docker服务并在后台运行。

6.执行docker info,显示当前docker的状态信息,说明安装完成。

 

三 、Docker的基本使用

以可联网状态,下载Docker Hub中镜像的过程,简单描述一下Docker的基本使用。

在官方维护的Docker Hub中,有大量高质量的镜像文件,可以根据需要随意下载只用。

docker search 镜像名:可以搜索公共库里已有的包含镜像名关键字的文件。

docker pull 镜像名:根据镜像名,从公共库里取回文件。

docker image ls 查看当前系统里已有的镜像

 

如图当前系统里已经有两个镜像,其中sonatype/nexus3是一个基于linux的web应用,我们可以通过启动该镜像的容器,然后进入这个容器开始操作。

docker run -it sonatype/nexus3 bash

 

该镜像被启动,以bash的形式进入容器,可以看到这个镜像是一个基于redhat镜像的系统。

如此就可以使用这个镜像了。

使用exit退出容器。

 

 

四、 容器的网络配置和使用

1 docker启动容器后,网卡设置有四种模式:host,bridge,container,noned。默认使用bridge模式。docker的bridge网络模式和虚拟机的桥接模式有区别,更接近于nat形式。(四种模式的具体使用方式后续补充)

2 启动一个指定IP地址和指定hostname的容器。

给容器指定IP,首先要创建network镜像

docker network create --subnet=192.168.253.1/16 mynetwork --默认为bridge模式

docker network ls

启动容器时使用这个网络模式的IP

docker run -it  --net mynetwork --ip 192.168.253.3 centos7:pg115 bash

若需要指定hostname

docker run -it --net mynetwork --ip 192.168.253.3  --hostname node01 centos:7_0820 bash  --使用hostname进行指定

 

五 、数据卷和挂载主机目录

1 数据卷

数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多
有用的特性:

  • 数据卷 可以在容器之间共享和重用
  • 对 数据卷 的修改会立马生效
  • 对 数据卷 的更新,不会影响镜像
  • 数据卷 默认会一直存在,即使容器被删除
  • 注意: 数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的
    被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的 数据卷 。

数据卷的使用有两种办法 创建使用 和 直接挂载使用

创建使用

  • $ docker volume create my-vol   创建一个数据卷
  • 名为my-vol的数据卷默认地址是:/var/lib/docker/volumes/my-vol/_data (可以通过修改docker配置文件的方式修改默认地址,比较麻烦。)
  • 启动一个挂载数据卷的容器:docker run -it --mount source=my-vol,target=/opt  centos:7_0820 bash 将名为my-vol的数据卷挂载到/opt下。

直接挂载使用

  • docker run -it -v /run/media/gpadmin/CentOS\ 7\ x86_64/Packages/:/mnt  centos:7_0820 bash 将目录/run/media/gpadmin/CentOS\ 7\ x86_64/Packages/的内容直接挂载到容器里/mnt目录下使用。

 

2 挂载主机目录

docker run -it --mount type=bind,source=/run/media/gpadmin/CentOS\ 7\ x86_64/Packages/,target=/mnt,readonly  centos:7_0820 bash  挂载主机目录,设置只读属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你说我听海绵宝宝派大星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值