如何在docker容器中运行一个程序

如何在docker容器中运行一个程序,第1张

1. 安装 Docker

在开始前,我们首先得确保在Linux主机中已经安装了Docker。这里,我运行的是CentOS 7 主机,我们将运行yum管理器和下面的命令来安装Docker。

# yum install docker

# systemctl restart docker.service

2. 创建 Dockerfile

现在,Docker守护进程已经在运行中了,我们现在准备创建自己的Firefox Docker容器。我们要创建一个Dockerfile,在其中我们要输入需要的配置来创建一个可以工作的Firefox容器。为了运行 Docker 镜像我们需要使用最新版本的CentOS。要创建 Docker 镜像,我们需要用文本编辑器创建一个名为Dockerfile的文件。

# nano Dockerfile

接着,在Dockerfile中添加下面的行并保存。

#!/bin/bashFROM centos:7RUN yum install -y firefox# 用你自己的 uid /gid 替换下面的0RUN export uid=0 gid=0RUN mkdir -p /home/developerRUN echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >>/etc/passwdRUN echo "developer:x:${uid}:" >>/etc/groupRUN echo "developer ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoersRUN chmod 0440 /etc/sudoersRUN chown ${uid}:${gid} -R /home/developerUSER developerENV HOME /home/developerCMD /usr/bin/firefox

注意:在第四行的配置中,用你自己的用户和组id来替换0。 我们可以用下面的命令在shell或者终端中得到uid和gid。

我们来了解一下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用docker@127.0.0.1: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实现改变


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

原文地址: http://outofmemory.cn/yw/8128578.html

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

发表评论

登录后才能评论

评论列表(0条)

保存