网站建设资讯

NEWS

网站建设资讯

怎么安装并使用docker

这篇文章将为大家详细讲解有关怎么安装并使用docker,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联是一家专注于网站制作、做网站与策划设计,广西网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:广西等地区。广西做网站价格咨询:028-86922220

docker是什么?

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

为什么要用docker?

在没有用docker之前,我们需要在本地,测试,线上部署相同的环境,相同的软件每个环境都要安装一次,并且每来一个新同事,相同的环境有要重新安装一遍,很麻烦且过于重复。docker可以完美的解决这个问题。
用docker之后我们只需要在本地,测试,线上分别安装相同的docker,然后在本地搭建环境,将搭建好的环境容器生成docker镜像,只要将这个docker镜像提供给测试和线上即可构建出相同的环境,在代码部署上我们可以利用docker数据卷将本地项目目录文件直接挂载到测试环境中

docker在windows上的安装

Docker for Windows是一个Docker Community Edition(CE)应用程序。Docker for Windows安装包包含了在Windows系统上运行Docker所需的一切。如果你不想装虚拟机,想直接在你的Windows操作系统中安装与学习使用docker,那么你首先得查看你的系统是否满足Docker for Windows的安装与使用要求。

  1. 1. Docker for Windows的当前版本运行在64位Windows 10 Pro,专业版、企业版和教育版(1607年纪念更新,版本14393或更高版本)上。Ps:家庭版是不行的,如果你是家庭版,那么一是升级到专业版,破解专业版推荐个地址:http://blog.csdn.net/SONGCHUNHONG/article/details/78006389 ,二是安装Docker Toolbox,自行网上百度http://blog.csdn.net/tina_ttl/article/details/51372604

  2. 2. 如果你满足Docker for Windows的环境条件了,那么首先检查电脑的虚拟化开启了没有:进入任务管理器(ctrl+alt+delete),点击性能->cpu ,查看虚拟化是否已启用,如果虚拟化是已禁用,那么你需要重启电脑进入bios开启虚拟化(我们的发的笔记本cpu都是支持虚拟化的,重启时进入bios按esc -> 再按f12 -> 去开启虚拟化)

    3. 开启虚拟化重启后,进入任务管理器看虚拟化是否已启用。 
    怎么安装并使用docker

    4. 然后再是进入电脑的控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上,启用后电脑会重启,后面就可以下载并安装Docker for Windows了。 
    怎么安装并使用docker

docker在mac上的安装

在docker官网上我们可以直接下载Docker Desktop (Mac) 可直接在https://hub.docker.com/editions/community/docker-ce-desktop-mac下载(需要登录),下载后双击执行docker.dmg正常安装即可
启动docker后在系统菜单栏我们可以看到docker标志,说明docker安装成功

docker镜像加速

参考http://guide.daocloud.io/dcs/daocloud-9153151.html#docker-toolbox设置镜像加速

怎么安装并使用docker

docker基本命令

// 列出本地已有镜像docker images// 从远端下载镜像docker pull // 使用镜像创建并启动一个容器(若本地没有该镜像,则会先从远端下载,每次run都会生成一个容器,嗯,轻量~)docker run hub.c.163.com/library/hello-world:latest//列出正在运行的容器docker ps// 列出所有容器(包括Exited)docker ps -a// 启动指定的容器docker start // 停止指定的容器docker stop // 停止所有运行中的容器docker stop $(docker ps -q)// 删除指定容器docker rm //删除所有容器docker rm $(docker ps -aq)//停止并删除容器docker stop $(docker ps -q) & docker rm $(docker ps -aq)// 删除指定镜像(删除镜像前须先停止并删除容器)docker rmi // 重启容器docker restart // 创建一个新的容器并运行一个命令docker run [OPTIONS] IMAGE [COMMAND] [ARG...]-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;-d: 后台运行容器,并返回容器ID;-i: 以交互模式运行容器,通常与 -t 同时使用;-p: 端口映射,格式为:主机(宿主)端口:容器端口-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;--name="nginx-lb": 为容器指定一个名称;--DNS 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;-h "mars": 指定容器的hostname;-e username="ritchie": 设置环境变量;--env-file=[]: 从指定文件读入环境变量;--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;-m :设置容器使用内存最大值;--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;--link=[]: 添加链接到另一个容器;--expose=[]: 开放一个端口或一组端口;// 交互运行docker run -it centos /bin/bash   /bin/bash 是进入到linux中命令行// 进入容器docker exec -it centos /bin/bash// 容器拷贝到主机docker cp :文件路径 主机目标路径// 主机拷贝到容器docker cp 主机文件路径 :文件路径//查看容器IPdocker inspect -f '{{.NetworkSettings.IPAddress}}' centos

win7上文件以数据卷的形式挂载到docker容器中

1.先设置 win7 到 VirtualBox 中 docker 用的那个虚拟机的共享文件夹
 填写好共享文件夹路径和名称。如:共享文件夹路径:E:\ 共享文件夹名称: e
 然后勾选自动挂载和固定分配
2.重启 docker
3. docker run -it -v /test:/var/www myimage /bin/bash

制作镜像

在上面的镜像容器中我们可以搭建自己所需要的各种环境,搭建好后可将这个更改后的容器打包成一个镜像,并上传到镜像仓库供大家使用
在搭建好环境的容器中退出时我们应当使用ctrl+p+q快捷键,而不是exit退出,因为这样直接退出会关闭当前容器
docker commit :从容器创建一个新的镜像。

docker commit -a "name" -m "this is profile"  imageName

这里以阿里云为例,将镜像推送到Registry

$ sudo docker login --username=jesse131 registry.cn-shenzhen.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/mirror-study/study:[镜像版本号]$ sudo docker push registry.cn-shenzhen.aliyuncs.com/mirror-study/study:[镜像版本号]

从网上拉取上传的镜像

$ sudo docker pull registry.cn-shenzhen.aliyuncs.com/mirror-study/study:[镜像版本号]

如果不想通过网络拉去镜像也可以通过U盘拷贝镜像

导出镜像到本地
docker save  -o d:/www/centos.tar
加载本地镜像
docker load -i d:/www/centos.tar

在PowerShell中设置 tab键自动补全(其实用的都是cmd.exe)

  1. 启动一个的PowerShell(即以管理员身份运行)。搜索PowerShell,右键单击,然后选择以管理员身份运行。在PowerShell提示符下键入: 
    Set-ExecutionPolicy RemoteSigned

  2. 检查策略设置是否正确,运行:get-executionpolicy 
    应该返回RemoteSigned。

  3. 安装posh-dockerPowerShell模块以自动完成Docker命令,键入:Install-Module posh-docker或者,要仅为当前用户安装模块,键入: 
    Install-Module -Scope CurrentUser posh-docker

  4. 安装完成后,只能为当前PowerShell启用自动完成功能,输入:Import-Module posh-docker

  5. 为了在所有PowerShell会话中保持Tab完成状态$PROFILE,请在PowerShell提示符处输入:

if (-Not (Test-Path $PROFILE)) { New-Item $PROFILE –Type File –Force}Add-Content $PROFILE "`nImport-Module posh-docker"

这将创建一个$PROFILE如果不存在,并将此行添加到文件中: 
Import-Module posh-docker 
要检查文件是否已正确创建,或只需手动编辑,请在PowerShell中键入以下内容: 
Notepad $PROFILE 
打开一个新的PowerShell会话。现在,当你键入的前几个字母后按Tab键,Docker命令(如开始,停止,运行及其选项)以及容器和映像名称现在都应该自动完成。 

了解集群

swarm是运行Docker并加入到一个集群中的一组机器。但是现在它们将由群集管理器在群集上执行。群体中的机器可以是物理的或虚拟的。加入群体后,他们被称为节点。 
Swarm管理人员可以使用多种策略来运行容器,比如“最空的节点”(emptiest node) - 它使用容器填充最少使用的机器。或“全局”,这确保了每台机器只能得到指定容器的一个实例。您可以指示swarm manager在Compose文件中使用这些策略。 
群体管理者是群体中唯一可以执行你的命令的机器,或者授权其他机器作为工作者加入群体。工人提供能力,并没有权力告诉任何其他机器可以做什么和不可以做什么。 
到目前为止,之前都是在本地机器上以单主机模式使用Docker。但是Docker也可以切换到群集模式,这就是使用群集的原因。启用群模式使当前机器成为群管理器。则Docker将运行您正在管理的群集上执行的命令,而不仅仅是在当前的机器上。

关于“怎么安装并使用docker”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文名称:怎么安装并使用docker
分享路径:http://njwzjz.com/article/gjjjsi.html