• docker里安装ubuntu


    使用 Ubuntu 官方镜像

    Ubuntu 相关的镜像有很多,这里使用 -s 10 参数,只搜索那些被收藏 10 次以上的镜像

    $ docker search -s 10 ubuntu
    
    NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    ubuntu                               Official Ubuntu base image                      840       [OK]
    dockerfile/ubuntu                    Trusted automated Ubuntu (http://www.ubunt...   30                   [OK]
    crashsystems/gitlab-docker           A trusted, regularly updated build of GitL...   20                   [OK]
    sylvainlasnier/memcached             This is a Memcached 1.4.14 docker images b...   16                   [OK]
    ubuntu-upstart                       Upstart is an event-based replacement for ...   16        [OK]
    mbentley/ubuntu-django-uwsgi-nginx                                                   16                   [OK]
    ansible/ubuntu14.04-ansible          Ubuntu 14.04 LTS with ansible                   15                   [OK]
    clue/ttrss                           The Tiny Tiny RSS feed reader allows you t...   14                   [OK]
    dockerfile/ubuntu-desktop            Trusted automated Ubuntu Desktop (LXDE) (h...   14                   [OK]
    tutum/ubuntu                         Ubuntu image with SSH access. For the root...   12                   [OK]

    注意,Docker 1.12 版本中已经不支持 --stars 参数,则可以使用 -f stars=N 参数。

    根据搜索出来的结果,读者可以自行选择下载镜像并使用。

    下面以 ubuntu 14.04 为例,演示如何使用该镜像安装一些常用软件。

    首先使用 -ti 参数启动容器,登录 bash,查看 ubuntu 的发行版本号。

    Ubuntu

    基本信息

    Ubuntu 是流行的 Linux 发行版,其自带软件版本往往较新一些。

    该仓库位于 https://hub.docker.com/_/ubuntu/ ,提供了 Ubuntu 从 12.04 ~ 16.10 各个版本的镜像。

    使用方法

    默认会启动一个最小化的 Ubuntu 环境。

    $ docker run --name some-ubuntu -i -t ubuntu
    root@523c70904d54:/#

    当试图直接使用 apt-get 安装一个软件的时候,会提示 E: Unable to locate package

    1 root@7d93de07bf76:/# apt-get install curl
    2 Reading package lists... Done
    3 Building dependency tree
    4 Reading state information... Done
    5 E: Unable to locate package curl

    这并非系统不支持 apt-get 命令。Docker 镜像在制作时为了精简清除了 apt 仓库信息,因此需要先执行 apt-get update 命令来更新仓库信息。更新信息后即可成功通过 apt-get 命令来安装软件。

    root@7d93de07bf76:/# apt-get update
    Ign http://archive.ubuntu.com trusty InRelease
    Ign http://archive.ubuntu.com trusty-updates InRelease
    Ign http://archive.ubuntu.com trusty-security InRelease
    Ign http://archive.ubuntu.com trusty-proposed InRelease
    Get:1 http://archive.ubuntu.com trusty Release.gpg [933 B]
    ...

    首先,安装 curl 工具。

    root@7d93de07bf76:/# apt-get install curl
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
      ca-certificates krb5-locales libasn1-8-heimdal libcurl3 libgssapi-krb5-2
      libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal
      libheimntlm0-heimdal libhx509-5-heimdal libidn11 libk5crypto3 libkeyutils1
      libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2
      libroken18-heimdal librtmp0 libsasl2-2 libsasl2-modules libsasl2-modules-db
      libwind0-heimdal openssl
    ...
    root@7d93de07bf76:/# curl
    curl: try 'curl --help' or 'curl --manual' for more information

    接下来,再安装 apache 服务。

    root@7d93de07bf76:/# apt-get install -y apache2
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
      apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3
      libaprutil1-ldap libxml2 sgml-base ssl-cert xml-core
    ...

    启动这个 apache 服务,然后使用 curl 来测试本地访问。

    root@7d93de07bf76:/# service apache2 start
     * Starting web server apache2                                                                                                                               AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
     *
    root@7d93de07bf76:/# curl 127.0.0.1
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <!--
        Modified from the Debian original for Ubuntu
        Last updated: 2014-03-19
        See: https://launchpad.net/bugs/1288690
      -->
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Apache2 Ubuntu Default Page: It works</title>
        <style type="text/css" media="screen">
    ...

    配合使用 -p 参数对外映射服务端口,可以允许容器外来访问该服务。

    相关资源

  • 相关阅读:
    Asp.Net页面导入和导出到EXCEL
    ASP.NET打包安装的制作方法
    asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
    aspx页面Repeater嵌套Repeater
    JAVASCRIPT校验大全
    SQL语句导入导出大全
    从DataView中生成Excel报表的方案
    用ajax实现dropdownlist多级联动实例
    ASP.NET结合存储过程写的通用搜索分页程序
    C#程序调用外部程序
  • 原文地址:https://www.cnblogs.com/yu-hailong/p/7629246.html
Copyright © 2020-2023  润新知