上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > win7问题 > hello thankyou_003096

hello thankyou_003096

作者:上犹日期:

返回目录:win7问题

内容导航:
  • Docker实战003:运行hello Word并解决报错
  • 如何用dockerfile如何生成一个hello world
  • 如何在docker中运行windows
  • 如何在docker下运行windows程序
  • 一、Docker实战003:运行hello Word并解决报错

    配置docker镜像加速器

    docker的镜像基本都在国外的服务器上,拉取镜像时很容易因为网络不稳定导致拉取速度很慢甚至失败。这里我配置下国内的阿里云镜像加速器,可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器。登录阿里云获取专属的镜像加速器地址,daemon.json文件一般再在/etc/docker目录下,如果没有则新建即可。


    Docker实战003:运行hello Word并解决报错

    拉取hello-world镜像

    docker提供了hello-world示例镜像,我们可以通过docker search hello-world来查看。配置docker镜像加速器后我们来拉取一个hello-world镜像,通过命令:docker pull hello-world来拉取即可。


    Docker实战003:运行hello Word并解决报错

    Docker拉取错误

    这个是请求头超时异常,docker请求不到docker官网下载镜像。这个是DNS域名解析异常,我们需要配置下DNS来解决这个问题。Cenots通过安装bind-utils可以获取Dig工具, Dig是用来查询DNS包括NS记录,A记录,MX记录等相关信息的工具。这里我们通过命令:yum install bind-utils来安装bind-utils,然后通过dig来获取docker的DNS信息,在执行结果中选择一组解析放到本机的/etc/hosts文件里做映射。


    Docker实战003:运行hello Word并解决报错

    如果配置了hosts映射还是无效,我们可以再配置下/etc/resolv.conf文件。/etc/resolv.conf是DNS的配置文件,用于设置DNS服务器的IP地址及DNS域名。用vim打开文件/etc/resolv.conf,新增谷歌的dns域名解析地址:nameserver 8.8.4.4。保存之后重启下docker,再试试docker pull hello-world拉取。


    Docker实战003:运行hello Word并解决报错

    查看docker镜像

    docker镜像是一个文件系统(它没有状态也不会被改变),镜像可以启动复杂的软件供用户使用。 通过命令:docker images或者docker image ls可以列出本机已有的镜像,REPOSITORY资源仓库名,TAG指镜像的标签信息,IMAGE ID:是镜像的 ID(唯一的),CREATED:指镜像最后的更新时间,SIZE:指镜像的大小。


    Docker实战003:运行hello Word并解决报错

    测试HelloWorld

    拉取完hello-world镜像之后我们就可以来试运行下hello-world,执行命令:docker run hello-world后Docker会先检查本地是否存在名字叫hello-world的镜像,若不存在则去docker hub上下载该镜像,如果存在则将其挂载进容器并运行该容器实例。当看到Hello from Docker!则说明hello-world运行成功,执行docker ps -a命令后可以看到控制台显示了hello-world镜像的容器信息。


    Docker实战003:运行hello Word并解决报错

    总结:

    这里需要注意的就是docker官方镜像容易下载失败,所以最好配置下国内的镜像源。以上内容是小编给大家分享的【Docker实战003:运行hello Word并解决报错】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。


    Docker实战003:运行hello Word并解决报错



    为了方便学习,下面附上本文用到的源码:


    # mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] //"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}EOF# systemctl daemon-reload# systemctl restart docker# docker search hello-worldNAME DESCRIPTION STARS OFFICIAL AUTOMATEDhello-world Hello World! (an example of minimal Dockeriz… 1303 [OK] //*******省略********# docker pull hello-worldUsing default tag: latestlatest: Pulling from library/hello-world0e03bdcc26d7: Pull complete Digest: sha256:4cf9c47f86df71d48364001ede3a4fcd85ae80ce02ebad74156906caff5378bcStatus: Downloaded newer image for hello-world:latestdocker.io/library/hello-world:latest# docker pull hello-worldUsing default tag: latestError response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)// 安装dig工具获取DNS# yum install bind-utils # dig @114.114.114.114 registry-1.docker.io; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @114.114.114.114 registry-1.docker.io; (1 server found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45167;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;registry-1.docker.io. IN A;; ANSWER SECTION:registry-1.docker.io. 41 IN A 35.174.73.84registry-1.docker.io. 41 IN A 52.4.20.24registry-1.docker.io. 41 IN A 52.72.232.213registry-1.docker.io. 41 IN A 3.218.162.19registry-1.docker.io. 41 IN A 54.236.131.166registry-1.docker.io. 41 IN A 52.54.232.21registry-1.docker.io. 41 IN A 3.211.199.249registry-1.docker.io. 41 IN A 52.5.11.128;; Query time: 53 msec;; SERVER: 114.114.114.114#53(114.114.114.114);; WHEN: 四 10月 01 21:59:03 CST 2020;; MSG SIZE rcvd: 177# vi /etc/hosts35.174.73.84 registry-1.docker.io# vim /etc/resolv.conf -------------------------------------------# Generated by NetworkManagersearch localdomainnameserver 192.168.1.2nameserver 8.8.4.4nameserver localdomain-------------------------------------------# systemctl restart docker# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEhello-world latest bf756fb1ae65 9 months ago 13.3kB# docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEhello-world latest bf756fb1ae65 9 months ago 13.3kB# docker run hello-worldHello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: https://hub.docker.com/For more examples and ideas, visit: https://docs.docker.com/get-started/

    二、如何用dockerfile如何生成一个hello world

    如何使用
    Dockerfile用来创建一个自定义的image,包含了用户指定的软件依赖等。当前目录下包含Dockerfile,使用命令build来创建新的image,并命名为edwardsbean/centos6-jdk1.7:
    docker build -t edwardsbean/centos6-jdk1.7 .

    Dockerfile关键字
    如何编写一个Dockerfile,格式如下:
    # CommentINSTRUCTION arguments

    FROM
    基于哪个镜像
    RUN
    安装软件用
    MAINTAINER
    镜像创建者
    CMD
    container启动时执行的命令,但是一个Dockerfile中只能有一条CMD命令,多条则只执行最后一条CMD.
    CMD主要用于container时启动指定的服务,当docker run command的命令匹配到CMD command时,会替换CMD执行的命令。如:
    Dockerfile:
    CMD echo hello world

    运行一下试试:
    edwardsbean@ed-pc:~/software/docker-image/centos-add-test$ docker run centos-cmd
    hello world

    一旦命令匹配:
    edwardsbean@ed-pc:~/software/docker-image/centos-add-test$ docker run centos-cmd echo hello edwardsbean
    hello edwardsbean

    ENTRYPOINT
    container启动时执行的命令,但是一个Dockerfile中只能有一条ENTRYPOINT命令,如果多条,则只执行最后一条
    ENTRYPOINT没有CMD的可替换特性
    USER
    使用哪个用户跑container
    如:
    ENTRYPOINT ["memcached"]
    USER daemon

    EXPOSE
    container内部服务开启的端口。主机上要用还得在启动container时,做host-container的端口映射:
    docker run -d -p 127.0.0.1:33301:22 centos6-ssh

    container ssh服务的22端口被映射到主机的33301端口
    ENV
    用来设置环境变量,比如:
    ENV LANG en_US.UTF-8
    ENV LC_ALL en_US.UTF-8

    ADD
    将文件拷贝到container的文件系统对应的路径
    所有拷贝到container中的文件和文件夹权限为0755,uid和gid为0
    如果文件是可识别的压缩格式,则docker会帮忙解压缩
    如果要ADD本地文件,则本地文件必须在 docker build ,指定的目录下
    如果要ADD远程文件,则远程文件必须在 docker build ,指定的目录下。比如:
    docker build github.com/creack/docker-firefox

    docker-firefox目录下必须有Dockerfile和要ADD的文件
    注意:使用docker build - < somefile方式进行build,是不能直接将本地文件ADD到container中。只能ADD
    url file.
    ADD只有在build镜像的时候运行一次,后面运行container的时候不会再重新加载了。
    VOLUME
    可以将本地文件夹或者其他container的文件夹挂载到container中。
    WORKDIR
    切换目录用,可以多次切换(相当于cd命令),对RUN,CMD,ENTRYPOINT生效
    ONBUILD
    ONBUILD 指定的命令在构建镜像时并不执行,而是在它的子镜像中执行

    三、如何在docker中运行windows

    我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识。Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核。这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建、运行以及管理 Docker 容器。有个叫 Boot2Docker 的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于Tiny Core Linux特制的小型 Linux,来在 Windows 上运行 Docker 容器。它完全运行在内存中,需要大约 27M 内存并能在 5秒 (因人而异) 内启动。因此,在用于 Windows 的 Docker 引擎被开发出来之前,我们在 Windows 机器里只能运行 Linux 容器。

    下面是安装 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 version

    4. 运行 Docker
    由于 Boot2Docker Start 自启已经确设置环境变量 shell我马始使用 Docker请注意我要 Boot2Docker 作远程 Docker 守护进程要 docker 命令前加 sudo
    现让我试试 hello-world 例镜像载 hello-world 镜像运行并输 "Hello from Docker" 信息
    $ docker run hello-world

    5. 使用命令提示符(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 管理工具提供些命令所示
    $ boot2docker
    Usage: boot2docker.exe []{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version}[]

    总结
    通 Docker Windows 客户端使用 Docker 趣Boot2Docker 管理工具能使任何 Docker 容器能像 Linux 主机平滑运行棒应用程序更仔细发现 boot2docker 默认用户用户名 docker密码 tcuser新版本 boot2docker 设置 host-only 网络适配器提供访问容器端口般说 192.168.59.103通 VirtualBox DHCP 实现改变

    四、如何在docker下运行windows程序

    我们来了解一下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实现改变

    相关阅读

    • hello thankyou_003096

    • 上犹win7问题
    • 内容导航: Docker实战003:运行hello Word并解决报错 如何用dockerfile如何生成一个hello world 如何在docker中运行windows 如何在docker下运行windows程序 一、 Docker实战003:运行hello Word并解决报错
    • 怎么自己重装系统win7_怎么重装系统win7

    • 上犹win7问题
    • 内容导航: win7系统更新后不重启系统的设置教程 如何让win7系统更新完不重启 怎样让Win7更新完后不重启? 如何让win7电脑更新之后不需要重启? 一、 win7系统更新后不重启系统的设置教
    • 主流主板_电脑装机

    • 上犹win7问题
    • 内容导航: 玩家装机如何选?五款主流Z170主板横评 z170主板哪个好 图中这四款Z170主板哪个最好 Z170芯片组主板哪款好 一、 玩家装机如何选?五款主流Z170主板横评 去年同期,我们推出
    • 幽冥火回城_上古昆仑山

    • 上犹win7问题
    • 内容导航: 最初的阴间传说,昆仑幽冥 有关冥界的传说 阴间的传说 阴间的传说从哪个朝代开始。 一、 最初的阴间传说,昆仑幽冥 聊个好玩的东西,阴间。 我们现在知道的阴间是有
    • 微信pc版官网_微信小程序和app的区别

    • 上犹win7问题
    • 内容导航: 微信PC端支持小程序直接开启 适配Win7及以上系统 电脑版微信(win10)打不开欢乐五子棋小程序(已经设置兼容win8、win7还不行)? PC端的游戏微信小程序打不开,但是游戏以
    • AMD主板是怎么分_华硕主板切换独立显卡

    • 上犹win7问题
    • 内容导航: 拥抱6代酷睿 高性能Z170主板大点名 Z170主板+第六代英特尔CPU,总共有几条PCIE通道?是否支持N卡双卡SLI+英特尔750PCIE全速工作? z170主板可以兼容i5-3350p吗?还有是不是所有主
    • 轩辕剑苍之涛隐藏物品_轩辕剑3隐藏物品

    • 上犹win7问题
    • 内容导航: 轩辕剑云和山的彼端,游戏中能偷的高端物品,当年你没错过吧? 轩辕剑三云和山的彼端偷半人马的问题 求轩辕剑3云和山的彼端的支线+隐藏物品 求救:轩辕剑3云和山的彼
    关键词不能为空
    极力推荐
    • WIN7系统如何禁用独立显卡?(win7独立显卡)

    • 单独禁用独立显卡(注意不能把集成显卡和独立显卡都禁用了,否则会黑屏)步骤: 一、键盘上按住win+r,打开【运行】,输入devmgmt.msc命令; 打开设备管理器,找到显示适配器。 三、

    电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

    关于我们