• 关于

    使用docker

    的搜索结果

回答

Docker是应用执行环境,不是虚拟机,对于宿主来说只是个隔离的进程;而Vagrant是虚拟机辅助软件,使用Vagrant既使用虚拟机,因此所运行的是一个完整操作系统。这是最本质的区别。Docker运行需要依托Linux内核,因此对于Windows, OSX系统而言,需要有一个Linux虚拟机运行起来,才可以使用Docker。因此在这种环境下,从单一虚拟机角度来说,Docker和Vagrant没有占用资源的差别。对于 Linux工作环境来说,那就没有这个问题,使用Docker要比Vagrant轻量级很多。而在OSX, Windows下使用Docker和Vagrant开发,很重要的一个问题在于共享文件目录上。之前大家在这两个系统上安装的Docker环境都是通过Docker Toolbox ( https://docs.docker.com/toolbox/overview/ )来安装配置的,它使用的是Virtualbox,对于共享主机文件目录到Docker环境上有一些问题,大多数情况能用,但是部分情况会出故障。所以相对于 Docker Toolbox的环境而言,如果需要一些文件目录监控等高级功能,vagrant更适合开发。但是,这个问题现在已经解决,Docker刚刚发布了Docker for Mac/Windows (beta) (https://docs.docker.com/docker-for-mac/),这将不在使用Virtualbox,而是使用 xhype (OSX), Hyper-V (Windows 10) 来运行一个更为精简的Linux (Alpine)。由于使用了操作系统原生虚拟框架,因此共享目录上的种种问题得到了解决,此外 Alpine 的使用,让Linux虚拟机加载更为迅速。所以在这种情况下,使用 Docker 要比 Vagrant 有更多的优势。所以,从未来角度看,Docker是大势所趋。

桥下的蜗牛 2019-12-02 01:33:23 0 浏览量 回答数 0

问题

如何进行部署流程

猫饭先生 2019-12-01 21:03:24 943 浏览量 回答数 0

问题

Java程序员需要注意的五大Docker误区

技术小菜鸟 2019-12-01 21:06:59 3761 浏览量 回答数 1

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

回答

下面是安装 Docker 客户端并在上面运行容器的简单步骤。 1. 下载 Boot2Docker 在我们开始安装之前,我们需要 Boot2Docker 的可执行文件。可以从 它的 Github 下载最新版本的 Boot2Docker。在这篇指南中,我们从网站中下载版本 v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install.exe 的文件。 2. 安装 Boot2Docker 现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于开箱即用地运行全功能的 Docker 引擎都至关重要。 3. 运行 Boot2Docker 安装完成必要的组件之后,我们从桌面上的“Boot2Docker Start”快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。 为了检查是否正确配置,运行下面的 docker version 命令。 docker version 4. 运行 Docker 由于 Boot2Docker Start 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。请注意,如果我们要将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。 现在,让我们来试试 hello-world 例子镜像,它会下载 hello-world 镜像,运行并输出 "Hello from Docker" 信息。 $ docker run hello-world 5. 使用命令提示符(CMD) 运行 Docker 现在,如果你想开始用命令提示符使用 Docker,你可以打开命令提示符(CMD.exe)。由于 Boot2Docker 要求 ssh.exe 在 PATH 中,我们需要在命令提示符中输入以下命令使得 %PATH% 环境变量中包括 Git 安装目录下的 bin 文件夹。 答案来源于网络

养狐狸的猫 2019-12-02 02:18:36 0 浏览量 回答数 0

问题

应该如何使用阿里云?高级篇

rippletek 2019-12-01 21:14:53 20970 浏览量 回答数 18

回答

阿里云部署Docker(1) ---- 阿里云Ubuntu环境搭建Docker服务 阿里云部署Docker(2 ) 阿里云部署Docker(3)----指令学习 阿里云部署Docker(4)----容器的使用 阿里云部署Docker(5)----管理和发布您的镜像 阿里云部署Docker(6)----解决删除<none>镜像问题 阿里云部署Docker(7)----将容器连接起来 阿里云部署Docker(8)----安装和使用redmine 阿里云部署Docker(9)----Dockerfile脚本定制镜像

云代维 2019-12-02 00:32:44 0 浏览量 回答数 0

问题

docker启动redis会消耗很大的性能,为什么还选择使用docker呢,在同一个虚拟机上启动多个redis实例和用docker启动多个,docker的优势在哪?

java持有者 2019-12-01 20:17:41 7808 浏览量 回答数 4

回答

为了能在 PowerShell 中运行 Docker.htm" target="_blank">http,它会下载 hello-world 镜像。然后用保存的文件通过 PuTTY 用 docker@127下面是安装 Docker 客户端并在上面运行容器的简单步骤、VirtualBox;] 总结 通过 Docker Windows 客户端使用 Docker 很有趣。 7.com/Linux/2014-11/109107.linuxidc.exe 的文件。私有密钥需要转换为 PuTTY 的格式。 boot2docker start 注意。它会要求你输入以后用于验证的 SSH 密钥;${Env.0。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install。 8.ssh 目录生成和使用用于登录的公共和私有密钥;Git\、反馈,它会安装 Window Docker 客户端,我们可以马上开始使用 Docker。 我们需要打开 puttygen;options>. 运行 Boot2Docker 安装完成必要的组件之后://www。 2.com/Linux/2014-01/95354。Boot2Docker 管理工具是一个能使任何 Docker 容器能像在 Linux 主机上平滑运行的很棒的应用程序。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。 docker version 4:Path="。 $ boot2docker Usage;->.linuxidc.htm Docker安装应用(CentOS 6://www:// www.com/Linux/2015-02/112648:2022 登录。 为了检查是否正确配置。我们可以通过 puttygen; 菜单)私钥:\.com/Linux/2014-10/108184;",请在下面的评论框中写下来然后我们可以改进或者更新我们的内容. 运行 Docker 由于 Boot2Docker Start 自动启动了一个已经正确设置好环境变量的 shell.com/Linux/2014-07/104595,运行下面的 docker version 命令. 安装 Boot2Docker 答案来源于网络

养狐狸的猫 2019-12-02 03:03:34 0 浏览量 回答数 0

回答

安装Docker借助apt-get命令,安装Docker是件轻而易举的事。 $ sudo apt-get install docker.io 为了允许非根用户也可以运行Docker,将你自己添加到docker群组。下面这个命令会允许当前用户运行Docker,无需根用户权限。 $ sudo usermod -a -G docker $USER 退出,然后重新登录,以激活群组成员的变化。 下一步,编辑Docker配置文件,以便更新Docker二进制代码的位置。 $ sudo vi /etc/default/docker.io DOCKER="/usr/bin/docker.io" 重启Docker服务。 $ sudo service docker.io restart 管理Docker容器 如果你想启动Ubuntu操作系统的一个新的Docker容器,首先需要获取Ubuntu Docker映像文件。下面这个命令会通过网络下载Docker映像文件。 $ docker pull ubuntu 你可以以一种交互模式来开启Ubuntu Docker,如下所示。最后一个参数“/bin/bash”是一旦启动就将在容器里面执行的命令,这里是一个简单的bash外壳命令。 $ docker run -i -t ubuntu /bin/bash 上述命令会立即启动一个Ubuntu容器(这正是容器的魅力所在!),并为你提供容器里面的外壳提示符。这时候,你应该能够访问沙盒环境里面的标准的Ubuntu操作系统了。 想退出Docker容器,在容器里面的提示符处键入“exit”。 你可以启动不同形式的容器。比如,想启动Fedora容器,请执行下面这个命令: $ docker.io run -i -t fedora /bin/bash 如果本地没有Fedora Docker映像文件,该命令就会首先自动下载映像文件,然后启动Docker。 如果你想启动采用某个发行版版本的容器,也可以这么做。比如说,想启动Ubuntu 13.04 Docker,请执行下面这个命令: $ docker.io run -i -t ubuntu:13.04 /bin/bash 容器网络 Docker使用Linux网桥将容器彼此互联起来,并将它们连接到外部网络。安装了Docker后,你应该会看到默认情况下自动组建的docker0 Linux网桥。你创建的每个容器都将连接到docker0网桥接口。 自定义Linux网桥 如果你想,也可以使用自定义Linux网桥将诸容器互联起来。为此,你可以建立一个自定义网桥,并对它进行配置,如下所示。你可以为该网桥分配一个单独的子网,并且从子网为Docker分配IP地址。我会使用10.0.0.0/24作为Docker子网。 $ sudo apt-get install bridge-utils $ sudo brctl addbr br0 $ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0

牧明 2019-12-02 02:16:18 0 浏览量 回答数 0

问题

#云市场docker征文#docker使用及感受

么事 2019-12-01 21:07:21 6824 浏览量 回答数 3

问题

Swarm 集群&nbsp;&nbsp;通过 Docker 工具连接集群

青蛙跳 2019-12-01 21:32:41 473 浏览量 回答数 0

问题

为什么不在docker中使用主机网络,因为docker和kubernetes网络非常复杂

k8s小能手 2019-12-01 19:30:26 587 浏览量 回答数 1

回答

使用 Docker 时需要首先下载一个官方镜像,例如 mysql、wordpress。然而由于网络原因,下载一个 Docker 官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务 ACR 提供了官方的镜像站点,从而加速官方镜像的下载。 使用镜像加速器 在不同的操作系统下,配置加速器的方式略有不同,下文将介绍主要操作系统的配置方法。 关于加速器的地址,您登录容器镜像服务控制台后左侧的加速器帮助页面就会显示为您独立分配的加速地址。 例如: 公网Mirror:[系统分配前缀].mirror.aliyuncs.com 当您的Docker版本较新时 当您下载安装的 Docker Version 不低于 1.10 时,建议直接通过 daemon config 进行配置。使用配置文件 /etc/docker/daemon.json(没有时新建该文件)。 { "registry-mirrors": [" "] } 之后重启 Docker Daemon 即可。 当您的Docker版本较旧时 需要根据操作系统的不同修改对应的配置文件。 Ubuntu 12.04 - 14.04 Ubuntu 的配置文件的位置在 /etc/default/docker目录 下。您只需要在这个配置文件中添加加速器的配置项,重启 Docker 即可。 echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=<your accelerate address>\"" | sudo tee -a /etc/default/docker sudo service docker restart Ubuntu 15.04 - 15.10 Ubuntu 的配置文件的位置在 /etc/systemd/system/docker.service.d/ 目录下。在这个目录下创建任意的 *.conf 文件即可作为配置文件。然后在这个配置文件中添加加速器的配置项,之后重启 Docker 即可。 sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-'EOF' [Service] ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=<your accelerate address> EOF sudo systemctl daemon-reload sudo systemctl restart docker CentOS 7 CentOS 的配置方式略微复杂,需要先将默认的配置文件(/lib/systemd/system/docker.service)复制到 /etc/systemd/system/docker.service。然后再将加速器地址添加到配置文件的启动命令中,之后重启 Docker 即可。 sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo systemctl daemon-reload sudo service docker restart Redhat 7 Redhat 7 配置加速器,需要编辑 /etc/sysconfig/docker 配置文件。在 OPTIONS 配置项中添加加速器配置 --registry-mirror=<your accelerate address>。最后执行 sudo service docker restart命令以重启 Docker Daemon。 Redhat 6/CentOS 6 在这两个系统上无法直接安装Docker,需要升级内核。 配置加速器时需要编辑 /etc/sysconfig/docker 配置文件。 在 other_args 配置项中添加加速器配置 --registry-mirror=<your accelerate address>。最后执行 sudo service docker restart 命令以重启 Docker Daemon。 Docker Toolbox 在 Windows、Mac 系统上使用 Docker Toolbox 的话,推荐做法是在创建 Linux 虚拟机的时候,就将加速器的地址配置进去。 docker-machine create --engine-registry-mirror=<your accelerate address> -d virtualbox default docker-machine env default eval "$(docker-machine env default)" docker info 如果您已经通过 docker-machine 创建了虚拟机的话,则需要通过登录该虚拟机来修改配置。 执行 docker-machine ssh <machine-name> 命令以登录虚拟机。 修改 /var/lib/boot2docker/profile 文件,将 --registry-mirror=<your accelerate address> 添加到 EXTRA_ARGS 中。 执行 sudo /etc/init.d/docker restart 命令以重启 Docker 服务。 注意事项 关于文中的加速器地址 ,请到容器镜像服务控制台查看。

1934890530796658 2020-03-25 12:24:07 0 浏览量 回答数 0

回答

不同环境上使用docker:1、windows目前还是依靠virtualbox实现基本系统,以后会出现兼容docker的windows docker,不过还早。2、freebsd已经可以原生运行docker,需要linux模拟层。3、mac需要用virtualbox使用docker。doker上使用其他环境:目前还不行。docker中目前只能跑linux。因为1、LXC,2、和宿主机共享内核。

西秦说云 2019-12-02 01:33:23 0 浏览量 回答数 0

回答

不同环境上使用docker:1、windows目前还是依靠virtualbox实现基本系统,以后会出现兼容docker的windows docker,不过还早。2、freebsd已经可以原生运行docker,需要linux模拟层。3、mac需要用virtualbox使用docker。doker上使用其他环境:目前还不行。docker中目前只能跑linux。因为1、LXC,2、和宿主机共享内核。

a123456678 2019-12-02 02:56:22 0 浏览量 回答数 0

回答

一般而言不要将Docker作为轻量级VM来使用,那样会丧失很多Docker交付和运维的优势。OpenStack的docker nova driver并不是一个成功的样例,现在随着Docker自身网络、存储和编排技术的提升,应该选择更加原生的Docker技术方案来搭建容器云。Docker Swarm, Kubernetes和Mesos都是可以选择的技术方向。如果您在公有云上希望体验容器云技术,可以考虑阿里云容器服务 https://www.aliyun.com/product/containerservice它提供了Docker Swarm兼容的方式来管理Docker集群,支持Docker Compose和Docker 镜像,简化了您搭建容器云的复杂性,也提供了很多特性简化web应用,微服务应用和DevOps.https://yq.aliyun.com/teams/11 是我们的团队博客,您能看到很多实例和文档来帮助您使用容器服务

易立 2019-12-02 01:41:05 0 浏览量 回答数 0

问题

Jenkins Kubernetes插件:如何从Dockerfile构建图像并在图像中运行步骤

k8s小能手 2019-12-01 19:34:07 777 浏览量 回答数 1

问题

一些 Docker 的技巧

寒喵 2019-12-01 21:51:10 942 浏览量 回答数 0

问题

开发者工具&nbsp;&nbsp;安装方法

青蛙跳 2019-12-01 21:37:50 675 浏览量 回答数 0

回答

如何配置 ubuntu16.04上只能安装1.11.0以上版本的Docker所以都可以使用配置文件直接配置: /etc/docker/daemon.json(没有时新建该文件) { "registry-mirrors": ["<your accelerate address>"] } 然后重启Docker Daemon就可以了 错误原因 docker的可执行文件名称从docker改成了dockerd,导致原有脚本无法在1.12.0版本的docker上使用,建议使用上述方法配置。

hyzhou 2019-12-01 23:20:48 0 浏览量 回答数 0

问题

DockerFAQ--Docker常见问题

西秦说云 2019-12-01 21:07:58 9227 浏览量 回答数 4

问题

Kubernetes 集群 常见问题 :如何支持私有镜像

青蛙跳 2019-12-01 21:33:15 458 浏览量 回答数 0

回答

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里,需要配置好yum源,如下图 安装docker命令如下: yum -y install docker,如图: 安装完成后,使用下面的命令来启动 docker 服务 如图示: 下载官方的 CentOS 镜像到本地 ,docker pull centos 搜索可用的docker镜像,下载成功如下图所示 在docker容器中安装新的程序,命令docker run -ubuntu apt-get install -y ping 在容器中用命令ping,发现测试可以使用 答案来源于网络

养狐狸的猫 2019-12-02 02:18:34 0 浏览量 回答数 0

问题

用Docker三剑客在阿里云ECS上部署LNMP问题

a123456678 2019-12-01 20:11:38 1240 浏览量 回答数 1

回答

批量计算提供了 App 功能,可以使用虚拟机(VM)镜像来定制运行环境,也可以使用 Docker 镜像,本文将介绍如何使用 Docker 镜像创建 App 和提交 App 作业。 背景 如果您的作业使用了 ISV 提供的软件或算法,可以考虑将其封装在 Docker 镜像中,再使用 App 设置作业的模板(包括资源类型和运行环境),这样一来,提交作业时只需提供输入和输出信息即可。当软件或算法有更新时,只需要更新 Docker 镜像,比如通过 Docker 镜像的 Tag 来标识不同的版本号,修改 App 中 Docker 镜像的版本号即可完成运行环境的更新。 准备 App 的 Docker 镜像 A) 制作 Docker 镜像 根据自己的需求,用户可以使用官方镜像仓库中的镜像作为基础镜像,安装需要的软件或算法,制作成 Docker 镜像,完成运行环境的定制;制作镜像有两种方法: 使用 Dockfile 制作镜像 使用容器快速制作镜像 具体制作方法可参考用户指南中的 Docker 镜像制作。 建议:在制作 Docker 镜像时,最好带上 Tag,后续版本有更新时,只需要更新 Tag 即可。 B) 本地调试Docker镜像 Docker 镜像制作完成以后,可以参考用户指南中的 Docker 本地调试相关章节进行本地调试,确保 Docker 镜像在 BatchCompute 的环境下可以正常使用。 C) 推送到镜像仓库 可以将制作好的 Docker 镜像推送到 OSS 的镜像仓库。具体方法请参考用户指南中 Docker镜像上传到 OSS 的详细描述 。 创建 App BatchCompute提供了 API、SDK、控制台等三种方式创建 App,下面以控制台和 Python SDK 为例,分别介绍如何使用 Docker 镜像创建 App。 A) 使用控制台创建 App 假如 Docker 镜像被推送到 OSS 镜像仓库的路径为oss://demo-bucket/dockers/,镜像名称为localhost:5000/demodockerimage:0.1。 create_app_basic 如上图所示,在创建 App 时,选择镜像类型为 Docker,填写 Docker 镜像的名称,以及 OSS Registry 的路径。关于控制台如何创建 App 的其他参数详情,请参考用户指南中创建 App 的描述,这里不再赘述。 B) 使用 SDK 创建 App 使用 Python SDK 创建 App 时,参考如下的形式: #encoding=utf-8 import sys from batchcompute import Client, ClientError from batchcompute import CN_BEIJING as REGION from batchcompute.resources import ( JobDescription, TaskDescription, DAG, AutoCluster, GroupDescription, ClusterDescription, AppDescription ) ACCESS_KEY_ID='xxxx' # 填写您的 ACCESS_KEY_ID ACCESS_KEY_SECRET='xxxx' # 填写您的 ACCESS_KEY_SECRET def main(): try: client = Client(REGION, ACCESS_KEY_ID, ACCESS_KEY_SECRET) app_desc = { "Name":"Docker-app-demo", "Daemonize":False, "Docker":{ "Image":"localhost:5000/demodockerimage:0.1", "RegistryOSSPath":"oss://demo-bucket/dockers/" }, "CommandLine":"python test.py", #其他参数这里不详细展示 } appName = client.create_app(app_desc).Name print('App created: %s' % appName) except ClientError, e: print (e.get_status_code(), e.get_code(), e.get_requestid(), e.get_msg()) if name == 'main': sys.exit(main()) 如上面的实例代码所示,在AppDescription中填写 Docker 信息的Image和RegistryOSSPath。其他参数请参考用户指南中的创建示例。 提交 App 作业 提交作业时,不再涉及 Docker 相关的信息,具体方法请参考用户指南中提交 App 作业的描述。 Docker 镜像更新 假如 App 中使用的 ISV 提供的软件或算法有更新,您只需要更新 Docker 镜像,并用 Tag 标识版本。然后更新 App 信息中的 Docker 镜像名称就可以。 A) 使用控制台更新 modify_app_start 如上图所示,在 App 列表中找到需要更新的 App,点击修改按钮进入 App 的修改页面。 modify_app 如上图所示,在修改页面,修改 App 的 Docker 镜像名称后,点击提交即可完成 App 的更新。 B) 使用 SDK 更新 使用 Python SDK 来更新 App 的 Docker 信息可参考如下示例: #encoding=utf-8 import sys from batchcompute import Client, ClientError from batchcompute import CN_BEIJING as REGION from batchcompute.resources import ( JobDescription, TaskDescription, DAG, AutoCluster, GroupDescription, ClusterDescription, AppDescription ) ACCESS_KEY_ID='xxxx' # 填写您的 ACCESS_KEY_ID ACCESS_KEY_SECRET='xxxx' # 填写您的 ACCESS_KEY_SECRET def main(): try: client = Client(REGION, ACCESS_KEY_ID, ACCESS_KEY_SECRET) app_desc = { "Name":"Docker-app-demo", "Daemonize":False, "Docker":{ "Image":"localhost:5000/demodockerimage:0.2", "RegistryOSSPath":"oss://demo-bucket/dockers/" }, "CommandLine":"python test.py", "EnvVars": {} } res = client.modify_app("Docker-app-demo", app_desc) print res except ClientError, e: print (e.get_status_code(), e.get_code(), e.get_requestid(), e.get_msg()) if name == 'main': sys.exit(main()) 对于简单的修改 Docker 版本号的情况,推荐使用控制台,操作更简单。

1934890530796658 2020-03-28 20:42:21 0 浏览量 回答数 0

回答

本文介绍如何为Docker 数据目录挂载数据盘。挂载数据盘可以扩容Docker数据目录,从而当在机器上运行的容器或者镜像数量不断增加时,保证有足够的磁盘空间可以满足使用需求。 Docker 数据目录 Docker的数据通过联合文件系统的方式存储到磁盘上。Docker默认的容器和镜像数据存储在/var/lib/docker目录下。您可以通过du命令查看这个目录目前占用的磁盘大小。 du -h --max-depth=0 /var/lib/docker 7.9G /var/lib/docker 更换Docker的数据盘 很多Docker镜像较大,因此可能几个镜像就会占用大量磁盘空间。较大的镜像或较多的容器,都会导致磁盘空间的不足。为了满足您增加镜像或容器的需求,您需要为Docker的数据目录增加数据盘。 增加数据盘 完成以下步骤,为Docker的数据目录增加数据盘: 创建ECS数据盘,并挂载到需要扩容的机器上。请参见创建按量付费云盘。 通过云服务器 ECS 控制台创建需要配置的云盘。 单击左侧导航栏中的实例。 单击目标ECS实例ID,进入实例详情页。 单击左侧导航栏中的本实例磁盘。 单击右上角的挂载云盘。 在弹出的对话框中,选择创建的磁盘作为目标磁盘。单击确定。 单击执行挂载,挂载新磁盘到目标ECS实例,并记录挂载点/dev/xvd或者/dev/vd。 登录ECS实例,对刚才挂载的磁盘进行格式化。 执行ls -l /dev/xvd或者ls -l /dev/vd命令,验证是否和上述步骤中记录的挂载点一致。 通过fdisk命令对磁盘进行分区,然后使用mkfs.ext4命令格式化磁盘。 格式化磁盘 移动Docker数据到新的磁盘。 如果不希望中断节点上正在运行的应用,您需要对应用进行迁移。迁移swarm集群,请参见指定多节点调度。迁移Kubernetes集群,请参见Safely Drain a Node while Respecting Application SLOs。 停止Docker Daemon和kubelet,保证迁移时的数据完整。可以使用service kubelet stop和service docker stop 命令进行停止。 移动Docker的目录到一个备份的目录。例如:mv /var/lib/docker /var/lib/docker_data。 然后把新的格式化好的磁盘挂载到/var/lib/docker和/var/lib/kubelet目录。例如: echo "/dev/xvdb1 /var/lib/container/ ext4 defaults 0 0" >>/etc/fstab echo "/var/lib/container/kubelet /var/lib/kubelet none defaults,bind 0 0" >>/etc/fstab echo "/var/lib/docker /var/lib/docker none defaults,bind 0 0" >>/etc/fstab mkdir /var/lib/docker mount -a 把之前备份的Docker数据移动到新的磁盘上。例如:mv /var/lib/docker_data/* /var/lib/docker/。 启动Docker Daemon和kubelet,并检查数据位置。 启动Docker Daemon和kubelet,命令分别是service docker start和service kubelet start。 执行df命令,可看到/var/lib/docker挂载到了新的磁盘上。如果需要启动Kubernetes集群,请跳过此步骤。 启动集群 执行 docker ps命令,查看容器是否丢失。根据需要,重启相关容器。如没有设置restart:always标签的容器。 设置标签 您可以通过调度的方式使被迁移走的容器回归到这个节点上来。 更多容器服务的相关内容,请参见容器服务。

1934890530796658 2020-03-31 14:54:27 0 浏览量 回答数 0

回答

本文介绍如何为Docker 数据目录挂载数据盘。挂载数据盘可以扩容Docker数据目录,从而当在机器上运行的容器或者镜像数量不断增加时,保证有足够的磁盘空间可以满足使用需求。 Docker 数据目录 Docker的数据通过联合文件系统的方式存储到磁盘上。Docker默认的容器和镜像数据存储在/var/lib/docker目录下。您可以通过du命令查看这个目录目前占用的磁盘大小。 du -h --max-depth=0 /var/lib/docker 7.9G /var/lib/docker 更换Docker的数据盘 很多Docker镜像较大,因此可能几个镜像就会占用大量磁盘空间。较大的镜像或较多的容器,都会导致磁盘空间的不足。为了满足您增加镜像或容器的需求,您需要为Docker的数据目录增加数据盘。 增加数据盘 完成以下步骤,为Docker的数据目录增加数据盘: 创建ECS数据盘,并挂载到需要扩容的机器上。请参见创建按量付费云盘。 通过云服务器 ECS 控制台创建需要配置的云盘。 单击左侧导航栏中的实例。 单击目标ECS实例ID,进入实例详情页。 单击左侧导航栏中的本实例磁盘。 单击右上角的挂载云盘。 在弹出的对话框中,选择创建的磁盘作为目标磁盘。单击确定。 单击执行挂载,挂载新磁盘到目标ECS实例,并记录挂载点/dev/xvd或者/dev/vd。 登录ECS实例,对刚才挂载的磁盘进行格式化。 执行ls -l /dev/xvd或者ls -l /dev/vd命令,验证是否和上述步骤中记录的挂载点一致。 通过fdisk命令对磁盘进行分区,然后使用mkfs.ext4命令格式化磁盘。 格式化磁盘 移动Docker数据到新的磁盘。 如果不希望中断节点上正在运行的应用,您需要对应用进行迁移。迁移swarm集群,请参见指定多节点调度。迁移Kubernetes集群,请参见Safely Drain a Node while Respecting Application SLOs。 停止Docker Daemon和kubelet,保证迁移时的数据完整。可以使用service kubelet stop和service docker stop 命令进行停止。 移动Docker的目录到一个备份的目录。例如:mv /var/lib/docker /var/lib/docker_data。 然后把新的格式化好的磁盘挂载到/var/lib/docker和/var/lib/kubelet目录。例如: echo "/dev/xvdb1 /var/lib/container/ ext4 defaults 0 0" >>/etc/fstab echo "/var/lib/container/kubelet /var/lib/kubelet none defaults,bind 0 0" >>/etc/fstab echo "/var/lib/docker /var/lib/docker none defaults,bind 0 0" >>/etc/fstab mkdir /var/lib/docker mount -a 把之前备份的Docker数据移动到新的磁盘上。例如:mv /var/lib/docker_data/* /var/lib/docker/。 启动Docker Daemon和kubelet,并检查数据位置。 启动Docker Daemon和kubelet,命令分别是service docker start和service kubelet start。 执行df命令,可看到/var/lib/docker挂载到了新的磁盘上。如果需要启动Kubernetes集群,请跳过此步骤。 启动集群 执行 docker ps命令,查看容器是否丢失。根据需要,重启相关容器。如没有设置restart:always标签的容器。 设置标签 您可以通过调度的方式使被迁移走的容器回归到这个节点上来。 更多容器服务的相关内容,请参见容器服务。

1934890530796658 2020-03-31 14:53:49 0 浏览量 回答数 0

回答

本文介绍如何为Docker 数据目录挂载数据盘。挂载数据盘可以扩容Docker数据目录,从而当在机器上运行的容器或者镜像数量不断增加时,保证有足够的磁盘空间可以满足使用需求。 Docker 数据目录 Docker的数据通过联合文件系统的方式存储到磁盘上。Docker默认的容器和镜像数据存储在/var/lib/docker目录下。您可以通过du命令查看这个目录目前占用的磁盘大小。 du -h --max-depth=0 /var/lib/docker 7.9G /var/lib/docker 更换Docker的数据盘 很多Docker镜像较大,因此可能几个镜像就会占用大量磁盘空间。较大的镜像或较多的容器,都会导致磁盘空间的不足。为了满足您增加镜像或容器的需求,您需要为Docker的数据目录增加数据盘。 增加数据盘 完成以下步骤,为Docker的数据目录增加数据盘: 创建ECS数据盘,并挂载到需要扩容的机器上。请参见创建按量付费云盘。 通过云服务器 ECS 控制台创建需要配置的云盘。 单击左侧导航栏中的实例。 单击目标ECS实例ID,进入实例详情页。 单击左侧导航栏中的本实例磁盘。 单击右上角的挂载云盘。 在弹出的对话框中,选择创建的磁盘作为目标磁盘。单击确定。 单击执行挂载,挂载新磁盘到目标ECS实例,并记录挂载点/dev/xvd或者/dev/vd。 登录ECS实例,对刚才挂载的磁盘进行格式化。 执行ls -l /dev/xvd或者ls -l /dev/vd命令,验证是否和上述步骤中记录的挂载点一致。 通过fdisk命令对磁盘进行分区,然后使用mkfs.ext4命令格式化磁盘。 格式化磁盘 移动Docker数据到新的磁盘。 如果不希望中断节点上正在运行的应用,您需要对应用进行迁移。迁移swarm集群,请参见指定多节点调度。迁移Kubernetes集群,请参见Safely Drain a Node while Respecting Application SLOs。 停止Docker Daemon和kubelet,保证迁移时的数据完整。可以使用service kubelet stop和service docker stop 命令进行停止。 移动Docker的目录到一个备份的目录。例如:mv /var/lib/docker /var/lib/docker_data。 然后把新的格式化好的磁盘挂载到/var/lib/docker和/var/lib/kubelet目录。例如: echo "/dev/xvdb1 /var/lib/container/ ext4 defaults 0 0" >>/etc/fstab echo "/var/lib/container/kubelet /var/lib/kubelet none defaults,bind 0 0" >>/etc/fstab echo "/var/lib/docker /var/lib/docker none defaults,bind 0 0" >>/etc/fstab mkdir /var/lib/docker mount -a 把之前备份的Docker数据移动到新的磁盘上。例如:mv /var/lib/docker_data/* /var/lib/docker/。 启动Docker Daemon和kubelet,并检查数据位置。 启动Docker Daemon和kubelet,命令分别是service docker start和service kubelet start。 执行df命令,可看到/var/lib/docker挂载到了新的磁盘上。如果需要启动Kubernetes集群,请跳过此步骤。 启动集群 执行 docker ps命令,查看容器是否丢失。根据需要,重启相关容器。如没有设置restart:always标签的容器。 设置标签 您可以通过调度的方式使被迁移走的容器回归到这个节点上来。 更多容器服务的相关内容,请参见容器服务。

1934890530796658 2020-03-31 15:46:41 0 浏览量 回答数 0

回答

Docker 提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个Docker,而MySQL运行在另外一个Docker,两者可以运行在同一个服务器,或多个服务器上。未来可能每个应用都要Docker化。容器的启动和关系是非常快速的。Docker目前能够有以下八种用途:1.简化配置这是Docker初始目的,虚拟机VM最大的好处是基于你的应用配置能够无缝运行在任何平台上。Docker提供同样类似VM的能力,但是没有任何副作用,它能让你将环境和配置放入代码然后部署,同样的Docker配置能够在各种环境中使用,这实际是将应用环境和底层环境实现了解耦。2.代码管道化管理能够对代码以流式pipeline管道化进行管理,从开发者的机器到生产环境机器这个流程中都能有效管理。因为在这个流程中会有各种不同的环境,每个都可能有微小的区别,Docker提供了跨越这些异构环境以一致性的微环境,从开发到部署实现流畅发布。3.开发人员的生产化在一个开发环境,我们希望我们的开发环境能更加接近于生产环境,我们会让每个服务运行在自己的VM中,这样能模拟生产环境,比如有时我们并不总是需要跨越网络连接,这样我们可以将多个Docker装载一系列服务运行在单机上最大程度模拟生产分布式部署的环境。4.应用隔离有很多理由你需要在一台机器上运行多个应用,这就需要将原来铁板一块monolithic的应用切分为很多微服务。实现应用之间的解耦,将多个应用服务部署在多个Docker中能轻松达到这个目的。5.服务合并使用Docker也能合并多个服务以降低费用,不多的操作系统内存占用,跨实例共享多个空闲的内存,这些技术Docker能以更加紧密资源提供更有效的服务合并。6.多租户Docker能够作为云计算的多租户容器,使用Docker能容易为每个租户创建运行应该多个实例,这得益其灵活的快速环境以及有效diff命令。7.快速部署Docker通过创建流程的容器,不必重新启动操作系统,几秒内能关闭,你可以在数据中心创建或销毁资源,不用担心额外消耗。典型的数据中心利用率是30%,通过更积极的资源分配,以低成本方式对一个新的实例实现一个更聚合的资源分配,我们很容易超过这个利用率,大大提高数据中心的利用效率。

天使的镇魂歌 2019-12-02 02:00:35 0 浏览量 回答数 0

问题

是否可以定义在k8s和docker中都可用的卷?

k8s小能手 2019-12-01 19:30:59 517 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板