1.docker的好处,为什么使用docker来部署服务器
Docker的使用
Docker是一个轻量级的虚拟化解决方案,你可以实现秒级的虚拟机启动、非常轻量级的虚拟化。个人使用理解看来,它可以实现一个类似于版本管理Git一样的轻量化的状态保存。
Docker有两个非常重要的概念: 镜像和容器。
镜像是呈载容器的实体,所有容器都是运行在镜像之上。用版本管理的角度来看,镜像就像是某一个节点,它可以派生出不同的分支,你可以在不同分支上做不同的事情。可以想象成一棵树,最基本的镜像是主树干,主树干可以分出旁支树干,而旁支树干可以分出更细的旁支,而树干上可以生长树枝。
比如,你使用Docker,从官方仓库下载一个ubuntu镜像,把它作为最基础的镜像。然后在上面运行一个容器,这个容器里下载Nginx,再以这个容器为基础生成一个新的镜像,以后这个镜像生成的容器就都是ubuntu+nginx为基础。但是你工作环境可能需要你使用Apache来工作,你也想有一个ubuntu+apache为基础的镜像,于是你可以使用最基础的ubuntu镜像运行一个容器,在里面下载安装Apache,然后以这个容器为基础,保存一个ubuntu+apache的镜像,以后在这个镜像基础上运行的所有容器都拥有了一个apache环境。
2.如何使用docker创建容器
docker如果安装成功,会有一块虚拟网卡,ip地址默认是172.17.42.1
用docker search centos6命令搜索githup中的容器
使用docker pull weepee/centos6下载容器到本地
使用docker images查看本地所有的容器
使用run命令启动容器
/usr/bin/docker run -d -v /root:/root -p 81:80 -p 2222:22 -p 10050:10050 -p 10051:10051 centos6.5_zabbix:v1.3
一定要记住centos6.5_zabbix:v1.3就是第四步查询到的名称和版本号
81:80 前面的宿主机的端口,后面是docker中容器所开的端口,两个端口之间是映射关系
docker ps 查看运行状态的容器
如果提交修改用docker commit 859549d3f157命令 859549d3f157就是使用docker ps查询到的CONTAINER ID
3.如何使用docker安装应用程序
Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器。它原本是 dotCloud 启动的一个业余项目,并在前些时候开源了。它吸引了大量的关注和讨论,导致 dotCloud 把它重命名到 Docker Inc。它最初是用 Go 语言编写的,它就相当于是加在 LXC(LinuX Containers,linux 容器)上的管道,允许开发者在更高层次的概念上工作。
Docker 扩展了 Linux 容器(Linux Containers),或着说 LXC,通过一个高层次的 API 为进程单独提供了一个轻量级的虚拟环境。Docker 利用了 LXC, cgroups 和 Linux 自己的内核。和传统的虚拟机不同的是,一个 Docker 容器并不包含一个单独的操作系统,而是基于已有的基础设施中操作系统提供的功能来运行的。这里有一个 Stackoverflow 的答案,里面非常详细清晰地描述了所有 Docker 不同于纯粹的 LXC 的功能特性
Docker 会像一个可移植的容器引擎那样工作。它把应用程序及所有程序的依赖环境打包到一个虚拟容器中,这个虚拟容器可以运行在任何一种 Linux 服务器上。这大大地提高了程序运行的灵活性和可移植性,无论需不需要许可、是在公共云还是私密云、是不是裸机环境等等。
Docker 由下面这些组成:
1. Docker 服务器守护程序(server daemon),用于管理所有的容器。
2. Docker 命令行客户端,用于控制服务器守护程序。
3. Docker 镜像:查找和浏览 docker 容器镜像。
4.Linux系统Docker命令怎么用
下面是安装 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 version4. 运行 Docker由于 Boot2Docker Start 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。
请注意,如果我们要将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。现在,让我们来试试 hello-world 例子镜像,它会下载 hello-world 镜像,运行并输出 "Hello from Docker" 信息。
$ docker run hello-world5. 使用命令提示符(CMD) 运行 Docker现在,如果你想开始用命令提示符使用 Docker,你可以打开命令提示符(CMD.exe)。由于 Boot2Docker 要求 ssh.exe 在 PATH 中,我们需要在命令提示符中输入以下命令使得 %PATH% 环境变量中包括 Git 安装目录下的 bin 文件夹。
set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"运行上面的命令之后,我们可以在命令提示符中运行 boot2docker start 启动 Boot2Docker 虚拟机。boot2docker start注意: 如果你看到 machine does no exist 的错误信息,就运行 boot2docker init 命令。
然后复制上图中控制台标出命令到 cmd.exe 中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker 容器了。6. 使用 PowerShell 运行 Docker为了能在 PowerShell 中运行 Docker,我们需要启动一个 PowerShell 窗口并添加 ssh.exe 到 PATH 变量。
$Env:Path="${Env:Path};c:\Program Files (x86)\Git\bin"运行完上面的命令,我们还需要运行boot2docker start这会打印用于设置环境变量连接到虚拟机内部运行的 Docker 的 PowerShell 命令。我们只需要在 PowerShell 中运行这些命令就可以和平常一样运行 docker 容器。
7. 用 PUTTY 登录Boot2Docker 会在%USERPROFILE%.ssh 目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY 的格式。
我们可以通过 puttygen.exe 实现。我们需要打开 puttygen.exe 并从 %USERPROFILE%.ssh\id_boot2docker 中导入("File"->"Load" 菜单)私钥,然后点击 "Save Private Key"。
然后用保存的文件通过 PuTTY 用 docker@127.0.0.1:2022 登录。8. Boot2Docker 选项Boot2Docker 管理工具提供了一些命令,如下所示。
5.如何在windows上使用docker
1. 下载 Kitematic首先,我们需要从 github 仓库 中下载 Windows 操作系统可用的最新的 Kitematic 发行版。我们用下载器或者 web 浏览器下载了它的可执行 EXE 文件。下载完成后,我们需要双击可执行应用文件。
双击应用文件之后,会问我们一个安全问题,我们只需要点击 OK 按钮,如下图所示。
2. 安装 Kitematic
下载好可执行安装程序之后,我们现在就可以在我们的 Windows 操作系统上安装 Kitematic了。安装程序现在会开始下载并安装运行 Kitematic 需要的依赖软件,包括 Virtual Box 和 Docker。如果已经在系统上安装了 Virtual Box,它会把它升级到最新版本。安装程序会在几分钟内完成,但取决于你网络和系统的速度。如果你还没有安装 Virtual Box,它会问你是否安装 Virtual Box 网络驱动。建议安装它,因为它用于 Virtual Box 的网络功能。
所需的依赖 Docker 和 Virtual Box 安装完成并运行后,会让我们登录到 Docker Hub。如果我们还没有账户或者还不想登录,可以点击 SKIP FOR NOW 继续后面的步骤。
如果你还没有账户,你可以在应用程序上点击注册(Sign Up)链接并在 Docker Hub 上创建账户。
完成之后,就会出现 Kitematic 应用程序的第一个界面。正如下面看到的这样。我们可以搜索可用的 docker 镜像。
3. 部署 Nginx Hello World 容器
现在,成功安装完 Kitematic 之后,我们打算部署容器。要运行一个容器,我们只需要在搜索区域中搜索镜像。然后点击 Create 按钮部署容器。在这篇教程中,我们会部署一个小的包含了 Hello World 主页的 Nginx Web 服务器。为此,我们在搜索区域中搜索 Hello World Nginx。看到了容器信息之后,我们点击 Create 来部署容器。
镜像下载完成之后,它会自动部署。我们可以查看 Kitematic 部署容器的命令日志。我们也可以在 Kitematic 界面上预览 web 页面。现在,我们通过点击预览在 web 浏览器中查看我们的 Hello World 页面。
如果我们想切换到命令行接口并用它管理 docker,这里有个称为 Docker CLI 的按钮,它会打开一个 PowerShell,在里面我们可以执行 docker 命令。
现在,如果我们想配置我们的容器并执行类似更改容器名称、设置环境变量、指定端口、配置容器存储以及其它高级功能的任务,我们可以在容器设置页面做到这些。
总结
我们终于成功在 Windows 操作系统上安装了 Kitematic 并部署了一个 Hello World Ngnix 服务器。推荐下载安装 Kitematic 最新的发行版,因为会增加很多新的高级功能。由于 Docker 运行在 64 位平台,当前 Kitematic 也是为 64 位操作系统构建。它只能在 Windows 7 以及更高版本上运行。
6.阿里云 上的docker 怎么用
包括三部分:从Docker Hub或者其他镜像源安装Docker镜像从Image file安装Docker镜像从Docker file制作Docker镜像查找Docker镜像安装Docker镜像的第一步,是查找你需要的Docker镜像列表,键入:docker search mysql如果出现权限问题,请在最前面加入sudo:sudo docker search mysql查询返回一个列表:NAME DESCRIPTION STARS OFFICIAL AUTOMATEDmysql MySQL is a widely used, open-source relati。
2981 [OK]mysql/mysql-server Optimized MySQL Server Docker images. Crea。 194 [OK]centurylink/mysql Image containing mysql. Optimized to be li。
46 [OK]sameersbn/mysql 36 [OK]jdeathe/centos-ssh-mysql CentOS-6 6.8 x86_64 / MySQL. 8 [OK]appcontainers/mysql Centos/Debian Based Customizable MySQL Con。 8 [OK]marvambass/mysql MySQL Server based on Ubuntu 14.04 6 [OK]drupaldocker/mysql MySQL for Drupal 2 [OK]azukiapp/mysql Docker image to run MySQL by Azuki - /,通过Web来搜索你需要的镜像。
下载Docker镜像当你找到合适的镜像后,可以通过:docker pull [REGISTRYHOST/][USERNAME/]NAME[:TAG]来进行下载,方括号中的是可选项:docker pull mysql导出Docker镜像你可以将本地镜像导出为文件,如我们刚才下载的MySQL镜像:docker save -o mysql.tar mysql将我们的MySQL镜像导出为mysql.tar.导入Docker镜像有导出就有导入,导入的命令是:docker load -i mysql.tar将我们的MySQL镜像导入。删除Docker镜像为了节约磁盘空间,有时候我们需要删除不需要的Docker镜像文件,首先查看我们拥有的Docker镜像文件:docker images然后删除不需要的镜像,释放磁盘空间:docker rmi [REGISTRYHOST/][USERNAME/]NAME[:TAG]通过Docker File编译Docker镜像制作Docker File我们放在后面再讲,假设你有一个名为Dockerfile的文件,编译制作Docker的命令是:docker build -f Dockerfile .成功后将在当前路径下制作出一个Docker镜像文件。
Summary我们简单的介绍了Docker镜像的使用方法。通过此实战,你应该对Docker镜像有了更深入的体会。
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索docker , 镜像 , docker使用镜像 , 删除镜像 查找镜像 docker 删除镜像、docker 镜像、docker 国内镜像仓库、docker hub 国内镜像、docker 镜像仓库,以便于您获取更多的相关知识。
7.上如何安装Docker及基本用法
VMware Workstation:9.0
操作系统:centos6.5
[root@dockerServer Desktop]# uname -a
Linux dockerServer 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
docker版本:
[root@dockerServer Desktop]# docker version
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.3
Git commit (client): fa7b24f/1.2.0
OS/Arch (client): linux/amd64
Server version: 1.2.0
Server API version: 1.14
Go version (server): go1.3.3
Git commit (server): fa7b24f/1.2.0
该例子前提dokcer已安装。基础镜像已生成。前面章节有介绍。
第一步:查看images
8.docker 安装 ubuntu 怎么用
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。
它基于 Google公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub上进行维护。
Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。RedHat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
安装docker docker安装方法一 ubuntu14.04以上的版本都是自带docker安装包的;所以可以直接安装;但是这个一般不是最先版本 sudo apt-get update sudo apt-get install docker.io docker安装方法二;安装最新版本 sudo apt-get update curl -s https://get.docker.io/ubuntu/ | sudo sh 这个方法启动docker若出现下面错误;(这个我没遇到) FATA[0000] Error loading docker apparmor profile: fork/exec /sbin/apparmor_parser: no such file or directory () 别担心,请安装apparmor软件即可 sudo apt-get install apparmor 用户组和配置文件修改 把当前用户加入到docker用户组中 sudo usermod -a -G docker $USER 添加配置文件 sudo vim /etc/default/docker 在配置文件中添加或修改 DOCKER="/usr/bin/docker" 重启docker sudo service docker restart #重启 安装完成之后可以测试下面几个命令 查看版本 docker -v 显示如下:这就表明你安装成功了 查看状态:sudo service docker status 显示如下:其他状态命令:sudo service docker start #启动 sudo service docker stop #关闭 sudo service docker restart #重启 查看镜像:此时应该没有镜像 docker images 显示如下:安装第一个镜像ubuntu 下载docker 镜像,需要几分钟。sudo docker pull ubuntu 启动容器,并且进入到Ubuntu容器的bash命令 sudo docker run -i -t ubuntu /bin/bash 输出hello world 下载时的现象:启动时的现象:其实相当于启动了一个虚拟机;输出hello world:ps命令:Docker常用命令速查# 下载一个ubuntu镜像 sudo docker pull ubuntu# 使用ubuntu运行一个交互性的shell,# 分配一个伪终端,附带stdin和stdout(输入/输出流) # 如果你想退出分离出来的伪终端, # 可以使用CTRL -p+CTRL -q --就像先按CTRL -p 然后CTRL -q sudo docker run -i -t ubuntu /bin/bash#docker ps命令 sudo docker ps #列出当前所有正在运行的container sudo docker ps -l #列出最近一次启动的,且正在运行的container sudo docker ps -a #列出所有的container#port命令 docker run -p 80:8080
9.1.2 为什么要使用Docker
Docker容器虚拟化的好处
Docker项目的发起人和Docker Inc.的CTO Solomon Hykes认为,Docker在正确的地点、正确的时间顺应了正确的趋势—即高效地构建应用。现在开发者需要能方便地创建运行在云平台上的应用,也就是说应用必须能够脱离底层机器,而且同时必须是“任何时间任何地点”可获取的。因此,开发者们需要一种创建分布式应用程序的方式,这也是Docker所能够提供的。
举个简单的应用场景的例子。假设用户试图基于最常见的LAMP(Linux + Apache + MySQL + PHP)组合来运维一个网站。按照传统的做法,首先,需要安装Apache、MySQL 和PHP以及它们各自运行所依赖的环境;之后分别对它们进行配置(包括创建合适的用户、配置参数等);经过大量的操作后,还需要进行功能测试,看是否工作正常;如果不正常,则意味着更多的时间代价和不可控的风险。可以想象,如果再加上更多的应用,事情会变得更加难以处理。
更为可怕的是,一旦需要服务器迁移(例如从阿里云迁移到腾讯云),往往需要重新部署和调试。这些琐碎而无趣的“体力活”,极大地降低了工作效率。
而Docker提供了一种更为聪明的方式,通过容器来打包应用,意味着迁移只需要在新的服务器上启动需要的容器就可以了。这无疑将节约大量的宝贵时间,并降低部署过程出现问题的风险。
Docker在开发和运维中的优势
对开发和运维(DevOps)人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境、任意时间让应用正常地运行。而Docker恰恰是可以实现这一终极目标的瑞士军刀。
具体说来,Docker在开发和运维过程中,具有如下几个方面的优势。
更快速的交付和部署。使用Docker,开发人员可以使用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码。Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。并且,各个步骤都有明确的配置和操作,整个过程全程可见,使团队更容易理解应用的创建和工作过程。
更高效的资源利用。Docker容器的运行不需要额外的虚拟化管理程序(Virtual Machine Manager,VMM,以及Hypervisor)支持,它是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。
更轻松的迁移和扩展。Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性让用户可以在不同平台之间轻松地迁移应用。
更简单的更新管理。使用Dockerfile,只需要小小的配置修改,就可以替代以往大量的更新工作。并且所有修改都以增量的方式进行分发和更新,从而实现自动化并且高效的容器管理。
Docker与虚拟机比较
作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:
Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。
Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。
Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。
Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。
Docker容器除了运行其中的应用之外,基本不消耗额外的系统资源,保证应用性能的同时,尽量减小系统开销。传统虚拟机方式运行N个不同的应用就要启动N个虚拟机(每个虚拟机需要单独分配独占的内存、磁盘等资源),而Docker只需要启动N个隔离的容器,并将应用放到容器内即可。
当然,在隔离性方面,传统的虚拟机方式多了一层额外的隔离。但这并不意味着Docker就不安全。Docker利用Linux系统上的多种防护机制实现了严格可靠的隔离。从1.3版本开始,Docker引入了安全选项和镜像签名机制,极大地提高了使用Docker的安全性。