2020-6-4 13:52:4 | 作者:老铁SEO | 0个评论 | 人浏览
下面是安装Docker客户端并在上面运行容器的简单步骤。
1.下载Boot2Docker
在我们开始安装之前,我们需要Boot2Docker的可执行文件。可以从它的Github下载最新版本的Boot2Docker。在这篇指南中,我们从网站中下载版本v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为docker-install.exe的文件。
2.安装Boot2Docker
现在我们运行安装文件,它会安装WindowDocker客户端、用于Windows的Git(MSYS-git)、VirtualBox、Boot2DockerLinuxISO以及Boot2Docker管理工具,这些对于开箱即用地运行全功能的Docker引擎都至关重要。
3.运行Boot2Docker
安装完成必要的组件之后,我们从桌面上的“Boot2DockerStart”快捷方式启动Boot2Docker。它会要求你输入以后用于验证的SSH密钥。然后会启动一个配置好的用于管理在虚拟机中运行的Docker的unixshell。
为了检查是否正确配置,运行下面的dockerversion命令。
dockerversion
4.运行Docker
由于Boot2DockerStart自动启动了一个已经正确设置好环境变量的shell,我们可以马上开始使用Docker。请注意,如果我们要将Boot2Docker作为一个远程Docker守护进程,那么不要在docker命令之前加sudo。
现在,让我们来试试hello-world例子镜像,它会下载hello-world镜像,运行并输出"HellofromDocker"信息。
$dockerrunhello-world
5.使用命令提示符(CMD)运行Docker
现在,如果你想开始用命令提示符使用Docker,你可以打开命令提示符(CMD.exe)。由于Boot2Docker要求ssh.exe在PATH中,我们需要在命令提示符中输入以下命令使得%PATH%环境变量中包括Git安装目录下的bin文件夹。
setPATH=%PATH%;"c:\ProgramFiles(x86)\Git\bin"
运行上面的命令之后,我们可以在命令提示符中运行boot2dockerstart启动Boot2Docker虚拟机。
boot2dockerstart
注意:如果你看到machinedoesnoexist的错误信息,就运行boot2dockerinit命令。
然后复制上图中控制台标出命令到cmd.exe中为控制台窗口设置环境变量,然后我们就可以像平常一样运行docker容器了。
6.使用PowerShell运行Docker
为了能在PowerShell中运行Docker,我们需要启动一个PowerShell窗口并添加ssh.exe到PATH变量。
$Env:Path="${Env:Path};c:\ProgramFiles(x86)\Git\bin"
运行完上面的命令,我们还需要运行
boot2dockerstart
这会打印用于设置环境变量连接到虚拟机内部运行的Docker的PowerShell命令。我们只需要在PowerShell中运行这些命令就可以和平常一样运行docker容器。
7.用PUTTY登录
Boot2Docker会在%USERPROFILE%.ssh目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为PuTTY的格式。我们可以通过puttygen.exe实现。
我们需要打开puttygen.exe并从%USERPROFILE%.ssh\id_boot2docker中导入("File"->"Load"菜单)私钥,然后点击"SavePrivateKey"。然后用保存的文件通过PuTTY用docker@127.0.0.1:2022登录。
8.Boot2Docker选项
Boot2Docker管理工具提供了一些命令,如下所示。
如何在容器中运行docker命令
我们可以轻易地在Docker容器中运行大多数GUI程序且不出错。Docker是一个开源项目,提供了一个打包、分发和运行任意程序的轻量级容器
的开放平台。它没有语言支持、框架或者打包系统的限制,并可以运行在任何地方、任何时候,从小型的家用电脑到高端的服务器都可以运行。这让人们可以打包不
同的包用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商。
下面是我们该如何在Docker容器中运行GUI程序的简单步骤。本教程中,我们会用Firefox作为例子。
1.安装Docker
在开始前,我们首先得确保在Linux主机中已经安装了Docker。这里,我运行的是CentOS7主机,我们将运行yum管理器和下面的命令来安装Docker。
#yuminstalldocker
#systemctlrestartdocker.service
2.创建Dockerfile
现在,Docker守护进程已经在运行中了,我们现在准备创建自己的Firefox
Docker容器。我们要创建一个Dockerfile,在其中我们要输入需要的配置来创建一个可以工作的Firefox容器。为了运行Docker
镜像我们需要使用最新版本的CentOS。要创建Docker镜像,我们需要用文本编辑器创建一个名为Dockerfile的文件。
#nanoDockerfile
接着,在Dockerfile中添加下面的行并保存。
#!/bin/bash
FROMcentos:7
RUNyuminstall-yfirefox
#用你自己的uid/gid替换下面的0
RUNexportuid=0gid=0
RUNmkdir-p/home/developer
RUNecho"developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash">>/etc/passwd
RUNecho"developer:x:${uid}:">>/etc/group
RUNecho"developerALL=(ALL)NOPASSWD:ALL">>/etc/sudoers
RUNchmod0440/etc/sudoers
RUNchown${uid}:${gid}-R/home/developer
USERdeveloper
ENVHOME/home/developer
CMD/usr/bin/firefox
注意:在第四行的配置中,用你自己的用户和组id来替换0。我们可以用下面的命令在shell或者终端中得到uid和gid。
#id$USER
3.构造Docker容器
下面我们就要根据上面的Dockerfile构建一个容器。它会安装firefox浏览器和它需要的包。它接着会设置用户权限并让它可以工作。这里镜像名是firefox,你可以根据你的需要命名。
#dockerbuild--rm-tfirefox.
4.运行Docker容器
现在,如果一切顺利,我们现在可以在运行在CentOS7镜像中的Docker容器里面运行我们的GUI程序也就是Firefox浏览器了。
#dockerrun-ti--rm-eDISPLAY=$DISPLAY-v/tmp/.X11-unix:/tmp/.X11-unixfirefox
总结
在Docker容器中运行GUI程序是一次很棒的体验,它对你的主机文件系统没有任何的伤害。它完全依赖你的Docker容器。
dockerlinux一些常用命令没有
docker是一个容器,通过它可以执行打包好的镜像里的程序,如dockerrun-i-tubuntu/bin/bash就是执行ubuntu这个镜像中的/bin/bash程序,只要镜像里有什么程序,你都可以通过dockerrun的方式去调用它。
如何查看docker里某个容器的的启动命令
1,在容器外部,物理机上,可以用dockerinspect查看或者,dockerinspectcontainer。
2,如果在容器内部。可以用?ps-fe?查看。其中1号进程就是启动命令。
3,Docker会在隔离的容器中运行进程。当运行dockerrun命令时,Docker会启动一个进程,并为这个进程分配其独占的文件系统、网络资源和以此进程为根进程的进程组。在容器启动时,镜像可能已经定义了要运行的二进制文件、暴露的网络端口等,但是用户可以通过dockerrun命令重新定义(译者注:dockerrun可以控制一个容器运行时的行为,它可以覆盖dockerbuild在构建镜像时的一些默认配置),这也是为什么run命令相比于其它命令有如此多的参数的原因。
4,命令格式
5,最基本的dockerrun命令的格式如下:
$sudodockerrun[OPTIONS]IMAGE[:TAG][COMMAND][ARG...]
6,如果需要查看[OPTIONS]的详细使用说明,请参考Docker关于OPTIONS的章节。这里仅简要介绍Run所使用到的参数。OPTIONS总起来说可以分为两类:
设置运行方式:
决定容器的运行方式,前台执行还是后台执行;
设置containerID;
设置网络参数;
设置容器的CPU和内存参数;
设置权限和LXC参数;
设置镜像的默认资源,也就是说用户可以使用该命令来覆盖在镜像构建时的一些默认配置。
7,dockerrun[OPTIONS]可以让用户完全控制容器的生命周期,并允许用户覆盖执行dockerbuild时所设定的参数,甚至也可以修改本身由Docker所控制的内核级参数。