分享页面
已经找到“” 的记录2710条
HP ProLiant服务器硬盘指示灯详解
 

1.如果硬盘出现告警,根据不同告警状态可以作初始判断和定位。硬盘指示灯状态定义参考如下图。

 

 

*参考文档:HP ProLiant DL380 G6 Server Maintenance and Service Guide--June 2009 (Fourth Edition)

HP DL360G8远控地址(ipmi)配置
 

1.在开机到下图界面时按F8进入ipmi配置界面

 

2.如下图,在菜单中找到 Network—NIC and TCP/IP

3.进入这个界面,在IP Address输入ipmi的地址例如192.168.169.81

Subnet Mask输入掩码:255.255.255.0

Gateway IP Address192.168.169.1

 

4.IPMI地址配置完成之后F10确定退出。

HP DL360G8添加或删除管理卡ipmi用户
 

1.在开机到下图界面时按F8进入ipmi配置界面

 

2.如下图,在菜单中找到User/选择Remove可以删除目前的用户

 

3.进入这个界面,选择用户,按回车即可删除这个用户,ESC取消

 

4.User中选择Add添加用户。

 

 

5.输入添加的用户名,登录的账号和密码,第二次重复校验密码。按F10保存退出

 

6.保存完毕后,打开浏览器,输入ipmi地址,用新添加的用户测试能否正常登录。

 

HP DL360G8开启虚拟化技术和超线程技术
 

1.在开机到下图界面时按F9,进入BIOS

 

2.BIOS菜单中找到System Option选项并点击进入。

3.找到processor option选项并点击进入

4.找到IntelRVirtualization Technology,点击选择Enabled。开启虚拟化技术。

5.找到IntelRVT-d,点击选择Enabled

6.找到IntelRHyperthreading option ,点击选择enabled,开启超线程。

 

7.都开启完毕之后,保存退出。

Gitlab配置
 

1gitlab安装完成后要通过域名访问,需配置nginx

nginx的配置文件在 /etc/nginx/conf.d/

配置如下

可通过域名访问

 

2、用户注册时收不到邮件,需要配置vim /etc/gitlab/gitlab.rb

授权码需要在邮箱中获取

开启qq邮箱的POP3/SMTP服务并保存好授权码

 

 

 

配置完成后可进行测试

执行 gitlab-rails console进入控制台。 然后在控制台提示符后输入下面的命令 发送一封测试邮件:Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

在首页注册后即可进入系统进行操作。

 

Docker镜像使用
 

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

1、管理和使用本地 Docker 主机镜像

2、创建镜像

列出镜像列表

可以使用 docker images 来列出本地主机上的镜像。

runoob@runoob:~$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB

php 5.6 f40e9e0f10c8 9 days ago 444.8 MB

nginx latest 6f8d099c3adc 12 days ago 182.7 MB

mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB

httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB

ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB

hello-world latest 690ed74de00f 6 months ago 960 B

training/webapp latest 6fae60ef3446 11 months ago 348.8 MB

各个选项说明:

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.1014.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

所以,如果要使用版本为15.10ubuntu系统镜像来运行容器时,命令如下:

runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash

root@d77ccb2e5cca:/#

参数说明:

-i: 交互式操作。

-t: 终端。

ubuntu:15.10: 这是指用 ubuntu 15.10 版本镜像为基础来启动容器。

/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash

如果要使用版本为 14.04 ubuntu 系统镜像来运行容器时,命令如下:

runoob@runoob:~$ docker run -t -i ubuntu:14.04 /bin/bash

root@39e968165990:/#

如果不指定一个镜像的版本标签,例如你只使用 ubuntudocker 将默认使用 ubuntu:latest 镜像。

获取一个新的镜像

在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。

Crunoob@runoob:~$ docker pull ubuntu:13.1013.10: Pulling from library/ubuntu6599cadaf950: Pull complete 23eda618d451: Pull complete

f0be3084efe9: Pull complete 52de432f084b: Pull complete

a3ed95caeb02: Pull complete Digest: sha256:15b79a6654811c8d992ebacdfbd5152fcf3d165e374e264076aa435214a947a3Status: Downloaded newer image for ubuntu:13.10

下载完成后,我们可以直接使用这个镜像来运行容器。

 

查找镜像

可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 httpd 的镜像来作为我们的 web 服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。

runoob@runoob:~$ docker search httpd

点击图片查看大图:

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

拖取镜像

决定使用上图中的 httpd 官方版本的镜像,使用命令 docker pull 来下载镜像。

runoob@runoob:~$ docker pull httpdUsing default tag: latest

latest: Pulling from library/httpd8b87079b7a06: Pulling fs layer

a3ed95caeb02: Download complete 0d62ec9c6a76: Download complete

a329d50397b9: Download complete

ea7c1f032b5c: Waiting

be44112b72c7: Waiting

下载完成后,我们就可以使用这个镜像了。

runoob@runoob:~$ docker run httpd

 

删除镜像

镜像删除使用 docker rmi 命令,比如我们删除 hello-world 镜像:

$ docker rmi hello-world

Shape1

创建镜像

docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

1、从已经创建的容器中更新镜像,并且提交这个镜像

2、使用 Dockerfile 指令来创建一个新的镜像

更新镜像

更新镜像之前,我们需要使用镜像来创建一个容器。

runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash

root@e218edb10161:/#

在运行的容器内使用 apt-get update 命令进行更新。

在完成操作之后,输入 exit 命令来退出这个容器。

此时 ID e218edb10161 的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit 来提交容器副本。

runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8

各个参数说明:

-m: 提交的描述信息

-a: 指定镜像作者

e218edb10161:容器 ID

runoob/ubuntu:v2: 指定要创建的目标镜像名

可以使用 docker images 命令来查看我们的新镜像 runoob/ubuntu:v2:

runoob@runoob:~$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

runoob/ubuntu v2 70bf1840fd7c 15 seconds ago 158.5 MB

ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB

php 5.6 f40e9e0f10c8 9 days ago 444.8 MB

nginx latest 6f8d099c3adc 12 days ago 182.7 MB

mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB

httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB

ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB

hello-world latest 690ed74de00f 6 months ago 960 B

training/webapp latest 6fae60ef3446 12 months ago 348.8 MB

使用新镜像 runoob/ubuntu 来启动一个容器

runoob@runoob:~$ docker run -t -i runoob/ubuntu:v2 /bin/bash

root@1a9fbdeb5da3:/#

 

构建镜像

使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

runoob@runoob:~$ cat Dockerfile

FROM centos:6.7

MAINTAINER Fisher "fisher@sudops.com"



RUN /bin/echo 'root:123456' |chpasswd

RUN useradd runoob

RUN /bin/echo 'runoob:123456' |chpasswd

RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local

EXPOSE 22

EXPOSE 80

CMD /usr/sbin/sshd -D

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

然后,使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

runoob@runoob:~$ docker build -t runoob/centos:6.7 .Sending build context to Docker daemon 17.92 kBStep 1 : FROM centos:6.7

---> d95b5ca17cc3Step 2 : MAINTAINER Fisher "fisher@sudops.com"

---> Using cache

---> 0c92299c6f03Step 3 : RUN /bin/echo 'root:123456' |chpasswd

---> Using cache

---> 0397ce2fbd0aStep 4 : RUN useradd runoob......

参数说明:

-t :指定要创建的目标镜像名

 

Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

使用docker images 查看创建的镜像已经在列表中存在,镜像ID860c279d2fec

runoob@runoob:~$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

runoob/centos 6.7 860c279d2fec About a minute ago 190.6 MB

runoob/ubuntu v2 70bf1840fd7c 17 hours ago 158.5 MB

ubuntu 14.04 90d5884b1ee0 6 days ago 188 MB

php 5.6 f40e9e0f10c8 10 days ago 444.8 MB

nginx latest 6f8d099c3adc 12 days ago 182.7 MB

mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB

httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB

ubuntu 15.10 4e3b13c8a266 5 weeks ago 136.3 MB

hello-world latest 690ed74de00f 6 months ago 960 B

centos 6.7 d95b5ca17cc3 6 months ago 190.6 MB

training/webapp latest 6fae60ef3446 12 months ago 348.8 MB

我们可以使用新的镜像来创建容器

runoob@runoob:~$ docker run -t -i runoob/centos:6.7 /bin/bash[root@41c28d18b5fb /]# id runoob

uid=500(runoob) gid=500(runoob) groups=500(runoob)

从上面看到新镜像已经包含我们创建的用户 runoob

设置镜像标签

可以使用 docker tag 命令,为镜像添加一个新的标签。

runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev

docker tag 镜像ID,这里是 860c279d2fec ,用户名称、镜像源名(repository name)和新的标签名(tag)。

使用 docker images 命令可以看到,ID为860c279d2fec的镜像多一个标签。

runoob@runoob:~$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

runoob/centos 6.7 860c279d2fec 5 hours ago 190.6 MB

runoob/centos dev 860c279d2fec 5 hours ago 190.6 MB

runoob/ubuntu v2 70bf1840fd7c 22 hours ago 158.5 MB

ubuntu 14.04 90d5884b1ee0 6 days ago 188 MB

php 5.6 f40e9e0f10c8 10 days ago 444.8 MB

nginx latest 6f8d099c3adc 13 days ago 182.7 MB

mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB

httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB

ubuntu 15.10 4e3b13c8a266 5 weeks ago 136.3 MB

hello-world latest 690ed74de00f 6 months ago 960 B

centos 6.7 d95b5ca17cc3 6 months ago 190.6 MB

training/webapp latest 6fae60ef3446 12 months ago 348.8 MB
ESXI系统的安装步骤
 

1.挂载ESXIISO镜像或插入已写入ESXI镜像的启动盘(本文使用的镜像为VMware-VMvisor-Installer-6.7.0-8169922.x86_64.ISO),重启服务器后按快捷方式(F11F6,个别型号为F8)进入启动项选择界面,根据实际情况选择通过虚拟光驱或U盘启动:

2.选择“ESXi-6.7.0”加载安装程序:

3.安装程序加载完毕之后,要开始进行安装,按回车键继续:

4.F11继续:

5.选择要安装ESXI系统的硬盘,按回车键继续:

6.继续按回车键:

7.键盘布局安装默认配置就好不用改动,继续按回车:

8.输入要设置的登录密码,回车:

9.此时会提示硬盘将被重置,按F11执行安装:

10.安装完毕后,系统会提示重启,按回车键:

11.重启后进入ESXI系统,按F2输入用户名密码登录(默认用户名:root):

12.登录后的界面如下图所示,按上、下方向键选择“Configure Management Network”回车,进行网络配置:

13.选中“IPv4 Configuration”回车:

14.选择“Set static IPv4 address and network configuration”配置ESXI远程登录地址为静态IP地址,IP地址配置好后,按回车键确认:

15.“VLANoptional)”为管理地址的vlan设置选项,如果ESXI内的虚拟机IP地址为同一网段,则此选项不需要设置,如果ESXI内需要配置多个网段的IP地址,则VLAN设置为ESXI管理地址的VLAN号:

16.网络配置完毕后,需要按Esc键退回到系统配置界面,此时会提示是否应用变更的配置,按Y确认:

17.这时候,我们就可以通过浏览器登录ESXI部署虚拟机了,web的用户名、密码与配置ESXI系统时登录的用户名、密码一致:

 

 

Docker网络模式与配置Docker自定义网络(bridge模式)
 

一、简述VMware中三种网络模式

可能,对于许多接触Linux操作系统的朋友而言,起初都是通过虚拟机软件进行层层深入的学习。而对于其中一种软件——VMware软件的网络连接可能就是初学者的一个难题。可能一直都并不了解所提供的三种网络模式的原理和意义。那么本小节将简单讲述一下有关VMware的三种网络模式:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。而此三种分别对应于网卡设备中的VMnet0VMnet1(或者后期新增创建的)、VMnet8NAT网卡也只能有一个)

 

1.1桥接模式

概念:桥接模式就是一种将主机(好比是你的笔记本上的)的网卡与虚拟机的网卡利用虚拟网桥进行通信。

 

原理理解:对这种模式的理解可以认为是将物理机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,当然物理机也一样需要连接到这个交换机,也就是说桥接模式下的所有网卡都是交换模式,相互可以访问而且互不干扰。

 

典型特征:虚拟机的IP地址需要与主机在同一网段,如果需要联网则网关与DNS需要与主机网卡一致。

 

具体可以再通过下面的图示理解:

1.2网络地址转换模式

 

NAT模式的话相对来说应该是最熟悉的了。网络地址转换,既然有地址转换,肯定是发生了转变了。NAT模式就比较适合于IP资源紧缺,而且希望虚拟机可以联网的情况。

 

NAT模式借助的是虚拟的NAT设备以及虚拟的DHCP服务器,从而使得虚拟机可以联网。如下图所示:

1.3仅主机模式

 

仅主机模式呢,其实说白了就是没有NAT设备的网络模式,仅使用的是VMnet1虚拟网卡与虚拟交换机连接,从而与虚拟机通信,而这种模式就实现了虚拟机与外网的隔离,即独立的一台服务器,只与主机互相通信。如下图所示:

好的,现在大概了解了VMware中三种网络模式的原理了吧,现在继续来聊聊在docker中的网络模式。

 

二、docker的网络模式

2.1docker网络实现原理

 

docker使用Linux桥接的方式,即在宿主机虚拟一个docker容器网桥(docker0),docker启动一个 容器时会根据docker网桥的网段分配给容器一个IP地址,这个地址就是容器ip,同时docker就是每个容器的默认网关。因此,同一个宿主机内的容器就可以通过容器ip地址直接通信。

 

一般情况下,我们在安装和启动docker服务之后使用ifconfig命令即可查看到这个docker0的虚拟网桥设备:

从上面显示的结果来看,默认的容器网关地址为172.17.0.1/16哈!当然loopback网卡是回环网卡,测试验证(TCP/IP连接),virtual bridge则是虚拟网桥(想想KVM【云原生】)

 

当然,docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法通过ip地址直接寻址的,这就表明我们需要通过其他的方式来使外部网络可以访问容器,一般会通过访问宿主机ip结合容器的端口(并且端口一般是进行了端口映射,之后会讲述)进行容器的访问。

2.2docker四种网络模式

下面直接通过下面的表格来区分理解一下docker的四种网络模式

docker网络模式

配置

说明

host

 

容器和宿主机共享Network namespace

container模式

 

容器和另外一个容器共享Network namespace

none模式

 

容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配veth pair 和网桥连接,配置IP

bridge模式

 

默认的模式

其实启动docker服务之后,可以使用docker network相关命令控制管理网络,下面我们查看一下网络列表:(默认存在下面三个)下面逐一介绍(结合第一小节的内容来理解docker 中的网络原理)

2.2.1host模式

host模式结合VMware中的仅主机模式即可理解,通过下图表示一下:

从上图可以看出,如果在启动容器后使用的是host模式,那么这个容器将不会获得一个独立的Network Namespace(网络命名空间),而是和宿主机系统共用一个Network Namespace。并且这就意味着容器将不会虚拟出自己的网卡以及配置自己的ip等,而是使用宿主机的ip以及端口。不过呢,在其他方面例如文件系统等还是与之隔离的。

这种方式最大优势在于网络性能比较好但是缺点也很明显——网络的隔离性很弱。

 

2.2.2container模式

这个模式正如上述表格中的说明一般,是表示指定新创建的容器和已经存在的一个容器共享一个Network Namespace。当然这也表示新建的这个容器不会创建自己的网卡等相关操作,而是和与指定的容器共享这些资源。

 

这种模式也和上述的host差不多,除了网络方面,其文件系统、进程列表等都是隔离的。

参照下图:

2.2.3none模式

 

使用none模式,Docker容器拥有自己的Network Namespace,但是,不会对Docker容器进行任何的网络配置。这就表明这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。这种方式网络的隔离性最为彻底,即表明关闭了容器的网络功能,也无法访问这个容器。

示意图如下:

2.2.4bridge模式

该模式就是我们在启动docker服务后默认的docker网络模式,其会在主机上创建一个名为docker0的虚拟网桥,这个主机上的所有启动的容器就会连接到这个虚拟网桥上。结合VMware中网桥模式原理,想想物理交换机的原理,就不难理解了。

docker0子网中分配一个IP给容器使用,并设置docker0IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备,Dockerveth pair设备的一端放在新创建的容器中(这个veth对我们在OpenStack中见过,笔者觉得可以将之理解为一个桥梁,建立桥两岸的关系而存在的一种虚拟设备),并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。

 

使用docker run -p 命令时,docker实际是在防火墙做了DNAT规则,实现端口转发的功能。

下面通过一个节点的服务器结构图来理解:

 

当然,这四种模式都不需要手动配置,真正需要配置的是自定义网络。

三、docker网络控制相关命令配置

上面已经给出了对应docker网络控制的命令docker network,下面具体看一下这个命令的具体说明:

docker network的命令用法:

Usage: docker network COMMAND

 

Manage networks

 

Commands:

connect Connect a container to a network

create Create a network

disconnect Disconnect a container from a network

inspect Display detailed information on one or more networks

ls List networks

prune Remove all unused networks

rm Remove one or more networks

3.1桥接命令设置

我们通过尝试、排错和验证的方式来配置docker网络。

因为需要NAT地址转换功能,所以需要开启防火墙,但是核心防护还是关了吧。

我们尝试通过docker网桥方式(桥接)给一个容器设置一个ip地址(自定义的),下面看一下命令执行的结果

首先,由于没有改镜像,所以会先拉取镜像之后创建以及尝试运行容器,但是会遇到报错,报错原因是因为用户自己设置的ip地址只适合于他们自己定义的网络。但是这并不影响镜像的获取与创建,我们尝试运行看看结果:

 

很显然,结果告诉我们还是上述的原因导致了这个问题,好吧只能删除这个容器了。索性还原为初始化环境吧(其实可以去掉--network bridge就不会报错,但是设置的ip地址会不生效,可以自行尝试一下),我们不指定ip地址来试一下,顺便验证一下不加这个参数试试,最后还原为初始化状态后我们再通过自定义的方式来设置ip地址吧。

 

进入容器查看ip地址

那么首先我们需要创建一个自定义的子网段,并且给他一个名称,通过这个网段给对应的容器设置固定的ip地址。

 

查看容器的状态,进入容器查看ip地址

此时发现自定义的网络设置容器ip地址成功了。

Gitlab安装教程
 

1.关于日志切割

日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。

 

logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。

 

2.安装logrotate

默认centos系统安装自带logrotate,安装方法如下

yum -y install logrotate crontabs

软件包信息说明

[root@clsn6 ~]# rpm -ql logrotate

/etc/cron.daily/logrotate

/etc/logrotate.conf # 主配置文件

/etc/logrotate.d # 配置目录

logrotate的配置文件是/etc/logrotate.conf

通常不需要对它进行修改。日志文件的轮循设置在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下。

 

3.实践配置logrotate

3.1 测试logrotate如何管理日志

这里我们将创建一个5GB的日志文件/var/log/eve.json。我们将展示怎样使用logrotate来管理该日志文件。

 

上面的模板是通用的,而配置参数则根据你的需求进行调整,不是所有的参数都是必要的。也可以通过man手册中的例子进行配置。

执行后的效果为

3.2配置文件说明

3.3 Logrotate定时任务

logrotate需要的cron任务应该在安装时就自动创建了。在我的应用中使用的是crontab来配合切割,因为是根据容量来切割的。

 

4.常见配置参数小结

 

Docker基础命令详解
 

Docker镜像操作命令

1、镜像搜索:docker search

命令描述:从Docker Hub中搜索并且显示你所需要的镜像

命令格式:docker search [options] term

Options:

-f, --filter filter Filter output based on conditions provided

--format string Pretty-print search using a Go template

--limit int Max number of search results (default 25)

--no-trunc Don't truncate output

-s: -s 100 #表示收藏数大于100的镜像

实例操作演示:

docker search nginx

docker search -s 100 nginx

简要说明:

NAME:镜像名称

DESCRIPTION:该镜像的描述信息

STARS:星级,越高则说明使用者,喜欢的人越多

OFFICIAL:是否为官方发布

AUTOMATED:自动创建

该命令作为检索命令,下面我们需要获取你检索后选择的每个镜像

2、镜像获取:docker pull

命令描述:从镜像仓库中拉取(形象的说法嘛)或者更新指定镜像

命令格式:docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Options:

-a, --all-tags Download all tagged images in the repository

--disable-content-trust Skip image verification (default true)

-q, --quiet Suppress verbose output

OPTIONS说明:

-a :拉取所有 tagged 镜像

--disable-content-trust :忽略镜像的校验,默认开启

实例演示:拉取nginx镜像为例

docker pull nginx

这样我们就拉取了一个nginx镜像,那么我们怎么查看呢?

3、镜像信息查看:docker images

命令描述:列出本地镜像

命令格式:docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

--digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

--format :指定返回值的模板文件;

--no-trunc :显示完整的镜像信息;

-q :只显示镜像ID。

实例演示:

docker images

简要说明:

REPOSITORY:仓库名称

TAG:标签

IMAGE ID:镜像id

CREATE:创建状态(按照时间)

SIZE:文件大小

PS:补充使用docker inspect IMAGE ID可以查看镜像的详细信息。

下面看看这个TAG的作用

4、镜像标签操作:docker tag

命令描述:标记本地镜像,将其归入某一仓库

命令格式:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

实例演示:

docker tag nginx:latest nginx:lokott

docker images

假设我们创建的时候发现有错误,或者在不需要的时候怎么删除镜像呢?继续来看哈!

5、删除镜像:docker rmi

命令描述:删除本地一个或多个镜像

命令格式:docker rmi [OPTIONS] IMAGE [IMAGE...]

Options:

-f, --force Force removal of the image

--no-prune Do not delete untagged parents

实例演示:

docker rmi nginx:lokott

docker rmi nginx:latest

删除打标签的镜像其实本质就是一个脱去标签的操作,与删除原镜像文件是不一样的。

尽量不要使用删除ID号的方式删除镜像,并且注意尽量删除依赖该镜像的所有容器后再删除这个镜像。

那么我们需要考虑我们拉取了镜像之后怎么存出镜像呢?这就需要使用下面的命令来实现了。

6、存出镜像:docker save

所谓存出,我们设想这样的场景应用:当需要将一台机器上的镜像迁移到另一台机器上的时候,需要将镜像保存成本地文件,这个过程就叫做存出镜像。

你可以简单理解为将镜像打成压缩包方便使用

命令描述:将指定镜像保存成 tar 归档文件

命令格式:docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS 说明:

-o :输出到的文件。

实例演示:

docker save -o /opt/nginx nginx:latest

ll /opt/

那么有存出,就必定有对应的载入操作,我们将存出的文件从本地复制一份到其他机器上是,我们需要使用这个镜像,可以通过下面的命令实现载入镜像

7、载入镜像:docker load

命令描述:载入镜像文件

命令格式:docker load [OPTIONS]

Options:

-i, --input string Read from tar archive file, instead of STDIN

-q, --quiet Suppress the load output

实例演示:

docker images

docker load < /opt/nginx

#二:从tar存档文件中读取,而不是从STDIN中读取

docker load --input /opt/nginx #或者使用-i代替--input也是一样的

 

8、上传镜像:docker login (不做细说以及演示)

命令描述:将自己本地的镜像制作好后上传到仓库中

命令格式:docker login

结合docker push NAME[:TAG]使用

 

扫码添加专属客服

扫码关注公众号