docker容器中进程启动的两种模式

docker容器中进程启动的两种模式,第1张

1.shell方式启动

如dockerfile中定义

CMD "./run"

容器内的PID为1的进程为/bin/sh -c "./run"

另外又有个进程./run

2.exec方式启动

如dockerfile中定义

CMD ["./run"]

则容器禅首内的PID为1的进程直接就是./run

有何不同?退出机制可能大不相同

背景: docker stop的时候,会向PID为1的进程发送SIGTERM信号,通知进程关闭。如果10秒钟依然没有关闭,将会发送SIGKILL强制kill进程。

不同之处:

1.exec启动的进程会接收到SIGTERM信号,程序自行处理该信号,清理资源,优雅关闭。

2.shell启动的进程会接收到SIGTERM信号,但是shell进程没有处理该信号的逻辑,所以直接忽略该信号。

一直等到10秒后超时贺颂数,收樱弯到了SIGKILL信号,强制kill所有的进程。

这时资源来不及释放,会导致各种数据不一致的问题。

为了能在 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。

我们需要打开 puttygenoptions>. 运行 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

我们来了解一下Windows *** 作系统中的Docker以及在其中安装DockerWindows客户端的知识。Docker引擎使用Linux特有的内核特性,因此不能通过Windows内核运行,锋漏所以,(在Windows上)Docker引擎创建了一个小的虚拟系统运行Linux并利用它的资源和内核。这样,WindowsDocker客户端就可以用这个虚拟的Docker引擎来构建、运行以及管理Docker容器。有个叫Boot2Docker的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于TinyCoreLinux特制的小型Linux,来在Windows上运行Docker容器。它完全运行在内存中,需要大约27M内存并能在5秒(因人而异)内启动。因此,在用于Windows的Docker引擎被开发出来之前,我们在Windows机器里只能运行Linux容器。下面是安装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命令dockerversion4.运行Docker由于Boot2DockerStart自启已经确设置环境变量shell我马始使用Docker请注意我要Boot2Docker作远程Docker守护进程要docker命令前加sudo现让我试试hello-world例镜像载hello-world镜像运行并输"HellofromDocker"信息$dockerrunhello-world5.使用命令提示符(CMD)运行Docker现想始用命令提示符使用Docker打命令提示符(CMD.exe)由于Boot2Docker要求ssh.exePATH我需要命令提示符输入命令使%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.exePATH变量$Env:Path="${Env:Path}c:\ProgramFiles(x86)\Git\bin"运行完面命令我需要运行boot2dockerstart打印用于设置环境变量连接虚拟机内部运行DockerPowerShell命令我需要PowerShell运行些命令平运行docker容器7.用PUTTY登录Boot2Docker%USERPROFILE%.ssh目录使用用于登录公共私密钥我需要使用文件夹私密钥私密钥需要转换PuTTY格式我通puttygen.exe实现我需要打puttygen.exe并%USERPROFILE%.ssh\id_boot2docker导入("File"->"Load"菜单)私钥点击"SavePrivateKey"用保存文件通皮基丛PuTTY用[email protected]:2022登录8.Boot2Docker选项Boot2Docker管理工具提供些命令所示$boot2dockerUsage:boot2docker.exe[]{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version}[]总结通DockerWindows客户端使用Docker趣Boot2Docker管理工具能使任何Docker容器能像Linux主机平滑运行棒应用程序更仔细发现boot2docker默认用户用户名docker密码tcuser新版本boot2docker设置host-only网络适配器提供访问容器端口般说192.168.59.103通VirtualBoxDHCP实现改变


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12375432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存