当前位置:网站首页 > R语言数据分析 > 正文

查看Docker版本号的命令为(查找docker版本号的命令)



docker在线安装

1.更新yum到最新

 

2.卸载旧版本

 

3.安装需要的软件包,yum-util提供yum-config-manager功能

 

3.设置yum仓库

 

4.安装docker,默认y确认

 

5.启动并查看docker版本

 

离线安装

1.下载好docker的离线二进制包

 

2.解压docker,并将所有docker下所有内容已到/usr/bin目录下

 

3.开启docker服务

 

4.现在你可以尝试着打印下版本号,试着看看 images,看看 info

 

5.docker命令不需要敲sudo的方法

 

6.绑定docker仓库ip和端口

 

7.注册docker为service服务

注册后可以通过systemclt来管理socker服务

 

将以下内容写入中(没有该文件则新建)。

 
 

8.修改文件为可执行文件

 

9.启动docker

 
image-

docker三个基本概念

  • 镜像:docker镜像(image),相当于一个root文件系统,如官方镜像ubuntu:16.04,包含了ubuntu:16.04完整的最小的root文件系统。
  • 容器:镜像(image)和容器(container)的关系,好比面向对象中类和对象的关系。镜像是静态的定义,容器是镜像实例化的实体。
  • 仓库:仓库(repository)可以看作一个代码管理中心,用来保存镜像。

公开服务是开放给用户使用、允许用户管理镜像的 Registry 服 务。

最常使用的 Registry 公开服务是官方的 ,这也是默认的 Registry,并 拥有大量的高质量的官方镜像。

从下载docker镜像,比较慢,一般会配置镜像加速器:

1.daocloud加速器

终端执行:

 

这个命令是修改/etc/docker/daemon.json文件,写入一个json数据如下

 

注意:有的人使用这个命令后会出问题,这个问题可以通过修改这个json文本,去掉最后的逗号,即可。

2.阿里云加速器

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

 

镜像加速地址,通过登录阿里云服务搜索得到。

1.启动docker服务

 

2.停止docker服务

 

3.重启docker服务

 

4.查看docker服务状态

 

5.开机自启动docker

 

docker镜像命令如下几类:

1.查看镜像

 

2.搜索镜像

 

3.拉取镜像

 

可以指定版本,版本号取hub仓库查找:hub.docker.com

4.删除镜像

 

1.查看容器

 

2.创建并启动容器

 

参数说明

  • -i:-交互式,保持容器运行,与-t同时使用,-it创建容器并进入,退出后,容器自动关闭
  • -t:-终端,为容器分配一个伪终端,通常与-i同时使用
  • -d:-守护,以守护(后台)模型运行容器,使用 进入容器
  • -it:创建交互式容器,-id:创建守护式容器
  • --name:为创建的容器命名

3.进入容器

 

4.停止容器

 

5.删除容器,运行状态需要先停止在删除

 

6.查看容器信息

 

数据卷概念

1.数据卷:宿主机中的一个目录或文件

宿主机和容器中映射的文件夹,或者文件

image-

2.数据卷的特点

  • 数据卷目录和容器目录绑定是,目录的修改对宿主机和容器是同步的
  • 一个数据卷可以被多个容器同时挂载
  • 一个容器也可以挂载多个数据卷

3.数据卷作用

  • 容器数据持久化
  • 外部机器和容器间通信
  • 容器之间数据交换

配置数据卷

1.创建容器时,使用参数设置数据卷

 

注意:

  • 目录必须是绝对路径
  • 如果目录不存在,会自动创建
  • 可以挂载多个数据卷

数据卷容器

多个容器进行数据交换

  1. 多个容器挂载数据卷同一个数据卷
  2. 数据卷容器
image-

配置数据卷容器

1.创建启动c3数据卷容器,使用设置数据卷

 

2.创建启动c1,c2容器,使用 参数 设置数据卷

 

作用:

  • 创建一个容器,挂载一个目录,让其他容器继承该容器(--)
  • 通过简单的方式实现数据卷配置

1.概念

容器内的网络服务和外部机器不能直接通信,但是外部机器可以和宿主机直接通信,这样就需要通过宿主机搭建桥梁。

让容器中的网络服务需要被外部机器访问是,可以将容器中提供服务的端口映射到宿主机的端口上,外部机器访问宿主机的该端口是,间接访问容器的服务,这个就被称作:

端口映射通过参数指定

2.实现端口映射

 

实现docker容器中部署mysql,并通过外部mysql客户端操作

1.搜索myslq镜像

 

2.拉取mysql镜像

 

3.创建容器,设置端口映射,目录映射

root目录下创建/data/mysql

 

运行容器

 

参数说明

  • ,容器3306映射到宿主机3307
  • ,当前路径下/conf挂载到容器/etc/mysql/conf.d
  • ,当前路径下/conf挂载到容器/logs
  • ,当前路径下/conf挂载到容器/var/lib/mysql
  • ,初始root密码 -e 配置环境变量

1.搜索tomcat镜像

 

2.拉取tomcat镜像

 

3.创建容器,设置端口映射,目录映射

root目录下创建/opt/tomcat

 

运行容器

 

参数说明

  • ,容器8080映射到宿主机8080
  • ,当前路径下/conf挂载到容器webapps

实现docker容器中部署mysql,并通过外部mysql客户端操作

1.搜索nginx镜像

 

2.拉取nginx镜像

 

3.创建容器,设置端口映射,目录映射

root目录下创建/data/mysql

 

拷贝nginx官方配置文件,写入/opt/nginx/conf/nginx.conf

 

运行容器

 

参数说明

  • ,容器80映射到宿主机80
  • ,挂载配置文件到容器

1.搜索redis镜像

 

2.拉取redis镜像

 

3.创建容器,设置端口映射,目录映射

运行容器

 

4.外部链接redis服务

 

1.操作系统重要的组成部分:文件管理子系统。而linux文件系统有bootfs和rootfs两部分组成:

  • :包含bootloader(引导加载程序)和kernel(内核)
  • :root文件系统,包含的就是典型Linux系统中的/dev,/proc,/etc
image-

2.docker镜像是由特殊的文件系统叠加而成

  • 最底层是bootfs,并使用宿主机的bootfs
  • 第二层是root文件系统rootfs,成为base image
  • 在往上叠加其他镜像文件

3.docker镜像的特点

  • 统一的文件系统,隐藏了很多层的存在,用户看来,只存在一个文件系统。
  • 一个镜像放在另一个镜像上,下面的称为父镜像,最底层称为基础镜像。
  • 当一个镜像容器启动,docker在会在顶层加载一个读写文件系统作为容器
image-

4.小结

docker镜像本质:一个分层的文件系统,能够不断复用,

centos镜像比操作系统iso小很多,是因为对rootfs的复用。

tomcat镜像比安装包大很多,是因为有很多依赖父镜像和基础镜像。

1.容器转镜像

在已存在的镜像中做修改,最终提交为新的镜像

 

还可以将镜像压缩为文件,进行传输。

 

将文件解压为镜像

 

注意:通过这种方式生成的容器,目录挂载的地方不会改变,其他位置都会改变。

2.dockerfile制作镜像*

是一个文件,包含了一条条指令,每一条指令构建一层,基于基础镜像,最终构建一个新镜像。

<img src="https://tva1.sinaimg.cn/large/00831rSTgy1gd4bnw8ienj30hg0l8gpt.jpg" alt="image-" style="zoom:67%;" />

3.dockerfile命令

关键字 作用 备注 FROM 指定父镜像 指定dockerfile基础镜像 MAINTAINER 作者信息 标识dockerfile作者 LABEL 标签 docker标签,可代替maintainer RUN 执行命令 指定一段命令,默认;RUN commond或RUN["commond", "param1", "param2"] CMD 容器启动命令 容器启动时候的默认命令,格式CMD command p1 p2 ENTRYPOINT 入口 一般在制作一些执行就关闭的容器中使用 COPY 复制文件 build的时候复制文件到images中 ADD 添加文件 build的时候添加到images,另含解压作用,来源可以是远程服务 ENV 环境变量 指定build时候的环境变量,在容器时可以通过 格式name=value覆盖 ARG 构建参数 在构建的时候使用的参数,ENV中相同名字的值始终覆盖arg的参数 VOLUME 定义外部挂载数据卷 指定build的image那些目录可以挂载到文件系统中,启动时使用-v格式绑定。 EXPOSE 暴露端口 定义容器运行监听的端口,启动容器时使用-p来绑定,EXPOST 8080 WORKDIR 工作目录 指定容器内部工作目录,没有的则自动创建,“/”开头是绝对路径,不是“/”开头,则是workdir路径的相对路径 USER 指定指定用户 指定build或者启动容器时,在 RUN COM ENTRYPOINT执行的时候的用户 HEALTHCHECK 检查健康 指定检测当前容器的健康检测的命令,基本没用 ONBUILD 触发器 存在ONBUILD关键字的镜像作基础镜像的时候,当指定FROM完成之后,会指定ONBUILD的命令,用处不大 STOPSINGNAL 发送信号到宿主机 STOPSINGNAL指令设置将发送到容器的系统调用信号以退出 SHELL 指定执行脚本的shell 指定RUN COM ENTRYPOINT执行命令的时候,使用的shell

4.dockerfile制作镜像例子

 

制作命令

 
  • -f 指定dockerfile文件
  • -t 执行镜像名字

1.准备django运行的环境基础镜像

 

2.准备django项目工程文件

 

3.编写dockerfile文件

 

4.打包项目镜像

 

5.根据项目镜像启动容器

 

6.查看项目容器状态

 

1.背景

微服务架构中应用系统包含若干个微服务,每个微服务部署多个实例,每个微服务手动启停,维护工作巨大。

  • Dockerfile build image 或 docker pull image
  • 创建多个container
  • 管理多个container(启动停止)

2.服务编排

按照一定的业务规则批量管理容器

3.工具

Docker-compose是一个编排多容器分布式部署的工具,提供命令集中管理容器化应用的完整开发周期,包括服务构建,启动和停止,使用方法:

  1. 利用dockerfile定义运行环境镜像
  2. 使用docker-compose.yml定义组成应用的各服务
  3. 运行docker-compose up 启动应用
image-

4.docker-compose安装

是基于docker,安装之前,需要先安装docker,以编译好的二进制包方式安装在linux中。

 

其他版本替换1.24.1。

设置文件可执行权限

 

创建软链:

 

测试是否安装成功:

 

docker-compose的卸载

 

1.创建测试项目

 

编写composetest/app.py 文件代码

 

在此示例中,redis 是应用程序网络上的 redis 容器的主机名,该主机使用的端口为 6379。

在 composetest 目录中创建另一个名为 requirements.txt 的文件,内容如下:

 

2.创建dockerfile文件

在 composetest 目录中,创建一个名为的文件 Dockerfile,内容如下:

 

Dockerfile 内容解释:

  • FROM python:3.7-alpine: 从 Python 3.7 映像开始构建镜像。
  • WORKDIR /code: 将工作目录设置为 /code。
  • 设置 flask 命令使用的环境变量。
     
  • RUN apk add --no-cache gcc musl-dev linux-headers: 安装 gcc,以便诸如 MarkupSafe 和 SQLAlchemy 之类的 Python 包可以编译加速。
  • 复制 requirements.txt 并安装 Python 依赖项。
     
  • COPY . .: 将 . 项目中的当前目录复制到 . 镜像中的工作目录。
  • CMD ["flask", "run"]: 容器提供默认的执行命令为:flask run。

3.创建 docker-compose.yml

在测试目录中创建一个名为 docker-compose.yml 的文件,然后粘贴以下内容:

docker-compose.yml 配置文件

 

该 Compose 文件定义了两个服务:web 和 redis。

  • web:该 web 服务使用从 Dockerfile 当前目录中构建的镜像。然后,它将容器和主机绑定到暴露的端口 5000。此示例服务使用 Flask Web 服务器的默认端口 5000 。
  • redis:该 redis 服务使用 Docker Hub 的公共 Redis 映像。

4.使用 Compose 命令构建和运行您的应用

在测试目录中,执行以下命令来启动应用程序:

 

如果你想在后台执行该服务可以加上 -d 参数:

 

5.yml配置指令参考

build

指定为构建镜像上下文路径

 

depends_on

设置依赖关系。

  • docker-compose up :以依赖性顺序启动服务。在以下示例中,先启动 db 和 redis ,才会启动 web。
  • docker-compose up SERVICE :自动包含 SERVICE 的依赖项。在以下示例中,docker-compose up web 还将创建并启动 db 和 redis。
  • docker-compose stop :按依赖关系顺序停止服务。在以下示例中,web 在 db 和 redis 之前停止。
 

deploy

指定与服务的部署和运行有关的配置。只在 swarm 模式下才会有用。

 

可以选参数:

:访问集群服务的方式。

 

:在服务上设置标签。可以用容器上的 labels(跟 deploy 同级的配置) 覆盖 deploy 下的 labels。

:指定服务提供的模式。

  • :复制服务,复制指定服务到集群的机器上。
  • :全局服务,服务将部署至集群的每个节点。
  • 图解:下图中黄色的方块是 replicated 模式的运行情况,灰色方块是 global 模式的运行情况。
    img

environment

添加环境变量。您可以使用数组或字典、任何布尔值,布尔值需要用引号引起来,以确保 YML 解析器不会将其转换为 True 或 False。

 

expose

暴露端口,但不映射到宿主机,只被连接的服务访问。

仅可以指定内部端口为参数:

 

image

指定容器运行的镜像。以下格式都可以:

 

volumes

将主机的数据卷或着文件挂载到容器里。

 

1.拉取私有仓库镜像

 

2.启动私有仓库

 

3.验证私有仓库

打开浏览器,输入http://私有仓库服务器ip:5000/v2/_catalog,看到{"repositories":[]}表示搭建成功

4.修改daemon.json

 

添加key,信任私有仓库地址,写入自己私有仓库真实ip

 

1.标记镜像为私有仓库镜像

 

2.上传标记的镜像

 

3.拉取到本地

 

简介

Docker Machine 是一种让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。

Docker Machine 功能

  • 集中管理所有的 docker 主机
  • 启动,检查,停止和重新启动托管主机
  • 升级 Docker 客户端和守护程序
  • 配置 Docker 客户端与主机进行通信
image-

安装

安装 Docker Machine 之前你需要先安装 Docker

Linux 安装命令

 

macOS 安装命令

 

Windows 安装命令

如果你是 Windows 平台,可以使用 Git BASH,并输入以下命令:

 

查看是否安装成功:

 

使用

1.列出可用机器,默认有default虚拟机

 

2.创建机器

创建一个名为test的机器

 
  • --driver:指定用来创建机器的驱动类型,这里是 virtualbox

3.查看机器ip

 

4.停止机器

 

5.启动机器

 

6.进入机器

 

docker-machine 命令参数说明

  • docker-machine active:查看当前激活状态的 Docker 主机。
     
  • config:查看当前激活状态 Docker 主机的连接信息。
  • creat:创建 Docker 主机
  • env:显示连接到某个主机需要的环境变量
  • inspect: 以 json 格式输出指定Docker的详细信息
  • ip: 获取指定 Docker 主机的地址
  • kill: 直接杀死指定的 Docker 主机
  • ls: 列出所有的管理主机
  • provision: 重新配置指定主机
  • regenerate-certs: 为某个主机重新生成 TLS 信息
  • restart: 重启指定的主机
  • rm: 删除某台 Docker 主机,对应的虚拟机也会被删除
  • ssh: 通过 SSH 连接到主机上,执行命令
  • scp: 在 Docker 主机之间以及 Docker 主机和本地主机之间通过 scp 远程复制数据
  • mount: 使用 SSHFS 从计算机装载或卸载目录
  • start: 启动一个指定的 Docker 主机,如果对象是个虚拟机,该虚拟机将被启动
  • status: 获取指定 Docker 主机的状态(包括:Running、Paused、Saved、Stopped、Stopping、Starting、Error)等
  • stop: 停止一个指定的 Docker 主机
  • upgrade: 将一个指定主机的 Docker 版本更新为最新
  • url: 获取指定 Docker 主机的监听 URL
  • version: 显示 Docker Machine 的版本或者主机 Docker 版本
  • help: 显示帮助信息

简介

Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

支持的工具包括但不限于以下各项:

  • Dokku
  • Docker Compose
  • Docker Machine
  • Jenkins

原理

如下图所示, 集群由管理节点()和工作节点()构成。

  • :负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。
  • :即图中的 available node,主要负责运行相应的服务来执行任务(task)。

<img src="https://tva1.sinaimg.cn/large/00831rSTgy1gd9i1s8m9mj31200qsgve.jpg" alt="image-" style="zoom:67%;" />

使用

1.创建 swarm 集群管理节点(manager)

 

初始化 swarm 集群,进行初始化的这台机器,就是集群的管理节点。

 

成功会输出一段命令,在增加工作节点时会用到:

 

2.创建swarm 集群工作节点(worker)

这里直接创建好俩台机器,swarm-worker1 和 swarm-worker2

 

分别进入俩个机器里,指定添加至上一步中创建的集群,这里会用到上一步复制的内容。

 

3.查看集群信息

 

4.部署服务到集群中

注意:跟集群管理有关的任何操作,都是在管理节点上操作的。

以下例子,在一个工作节点上创建一个名为 helloworld 的服务,这里是随机指派给一个工作节点

 

5.查看服务部署情况

 

查看 helloworld 部署的具体信息:

 

6.扩展集群服务

 

服务已经从一个节点,扩展到两个节点

7.删除服务

 

确认是否删除

 

8.滚动升级服务

将 redis 版本滚动升级至更高版本

创建一个 3.0.6 版本的 redis。

 

滚动升级 redis 。

 

9.停止某个节点接收新的任务

查看所有的节点:

 

可以看到目前所有的节点都是 Active, 可以接收新的任务分配。

停止节点 swarm-worker1

 

注意:swarm-worker1 状态变为 Drain。不会影响到集群的服务,只是 swarm-worker1 节点不再接收新的任务,集群的负载能力有所下降。

重新激活节点

 

命令用于部署新的堆栈或更新现有堆栈。从群集中的文件或文件创建和更新堆栈,必须以管理员节点为目标运行此命令。

用法

 

参数

名称,简写 默认 说明 分布式应用程序包文件的路径 Compose 文件的路径 将注册表身份验证详细信息发送给Swarm代理

相关命令

命令 描述 部署新的堆栈或更新现有堆栈 列出现有堆栈 列出堆栈中的任务 删除堆栈 列出堆栈中的服务

示例

命令支持及更高版本的Compose文件。

 

您可以验证服务是否正确创建 -

 

DAB文件

 

您可以验证服务是否正确创建 -

到此这篇查看Docker版本号的命令为(查找docker版本号的命令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
                            

版权声明


相关文章:

  • cors跨域解决方案(cors跨域问题)2025-01-16 09:09:06
  • yarn命令查看日志(yarn 查看日志)2025-01-16 09:09:06
  • uchar i(uchar IRKEY_1=0x45可以吗)2025-01-16 09:09:06
  • args怎么读音(arg英语怎么读)2025-01-16 09:09:06
  • 连接到redis失败(redis连接不上怎么办)2025-01-16 09:09:06
  • pdfview怎么转换成wps(pdfview怎么转换成word)2025-01-16 09:09:06
  • cruise2014安装教程(cruise安装包)2025-01-16 09:09:06
  • ldr指令用法(ldrh指令)2025-01-16 09:09:06
  • ettercap手机版(ettercap-graphical)2025-01-16 09:09:06
  • 群晖 root密码(群晖root密码详解)2025-01-16 09:09:06
  • 全屏图片