《Docker进阶与实战》——1.3节安装和使用-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

《Docker进阶与实战》——1.3节安装和使用

简介:

本节书摘来自华章社区《Docker进阶与实战》一书中的第1章,第1.3节安装和使用,作者华为Docker实践小组,更多章节内容可以访问云栖社区“华章社区”公众号查看

1.3 安装和使用
1.3.1 Docker的安装
Docker的安装和使用有一些前提条件,主要体现在体系架构和内核的支持上。对于体系架构,除了Docker一开始就支持的x86-64,其他体系架构的支持则一直在不断地完善和推进中,用户在安装前需要到Docker官方网站查看最新的支持情况。对于内核,目前官方的建议是3.10以上的版本,除了内核版本以外,Docker对于内核支持的功能,即内核的配置选项也有一定的要求(比如必须开启Cgroup和Namespace相关选项,以及其他的网络和存储驱动等)。如果你使用的是主流的发行版,那通常它们都已经打开了,如果使用的是定制化的内核,Docker源码中提供了一个检测脚本(目前的路径是./contrib/check-config.sh)来检测和指导内核的配置。
在满足前提条件后,安装就非常的简单了,对于多数主流的发行版,通常只需要一条简单的命令即可完成安装,比如在Ubuntu下,可以使用如下命令安装:

$ sudo apt-get install docker.io

当然,实际情况可能会相对复杂些,比如,虽然Ubuntu中通常自带了Docker,但用户常常需要使用最新版本的Docker,以至于不得不对其进行升级。对于安装和升级,以及不同发行版上的操作方法,官方网站上提供了更加详细的说明,本书不做过多的赘述,下面的链接给出了常用发行版的安装方法:

[Ubuntu]( http://docs.docker.com/installation/ubuntulinux/)
[Fedora]( http://docs.docker.com/installation/fedora/)
[Debian]( http://docs.docker.com/installation/debian/)
[Centos]( http://docs.docker.com/installation/centos/)
[Gentoo]( http://docs.docker.com/installation/gentoolinux/)
[Arch Linux]( http://docs.docker.com/installation/archlinux/)
[Windows]( http://docs.docker.com/installation/windows/)
[Mac OS X]( http://docs.docker.com/installation/mac/)

另外,用户也可以直接获取Docker binary来运行,http://docs.docker.com/installation/binaries/网址介绍了获取的方法。虽然这样更简单,但还是推荐使用完整安装的方式,因为通过软件包安装的Docker,除了有可执行文件之外,还包括了Shell自动完成脚本、man手册、服务运行和配置脚本等内容,可以帮助用户更好地配置和使用Docker。

示 Docker还有一些其他更方便的安装方式,这将在后面的章节中详细介绍。

1.3.2 Docker的使用
对于Docker的使用,可以花整本书来介绍其中的各种细节、使用技巧和实战经验等,本节更希望告诉读者学习使用的方法,而对于使用技巧和实战经验会在本书的其他部分贯穿说明。
对于初学者,官方提供的[tryit] (https://www.docker.com/tryit/)是最好的快速入门途径,建议每一个初次接触Docker的用户都可以试一试。对于有一定经验的用户,在使用中遇到问题或者不确定具体的用法时,可以通过以下途径来查看帮助信息。
1)在控制台直接运行docker,这样会列出Docker支持的所有命令和一些通用的参数,如下:

$ docker
Usage: docker [OPTIONS] COMMAND [arg...]
        docker daemon [ --help | ... ]
        docker [ -h | --help | -v | --version ]

A self-sufficient runtime for containers.

Options:

    --config=~/.docker               Location of client config files
    -D, --debug=false               Enable debug mode
    -H, --host=[]                   Daemon socket(s) to connect to
    -h, --help=false                Print usage
    -l, --log-level=info            Set the logging level
    --tls=false                     Use TLS; implied by --tlsverify
    --tlscacert=~/.docker/ca.pem    Trust certs signed only by this CA
    --tlscert=~/.docker/cert.pem    Path to TLS certificate file
    --tlskey=~/.docker/key.pem      Path to TLS key file
    --tlsverify=false               Use TLS and verify the remote
    -v, --version=false             Print version information and quit

Commands:
        attach    Attach to a running container
        build     Build an image from a Dockerfile
        commit    Create a new image from a container's changes
        cp        Copy files/folders from a container to a HOSTDIR or to STDOUT
        create    Create a new container
        diff      Inspect changes on a container's filesystem
        events    Get real time events from the server
        exec      Run a command in a running container
        export    Export a container's filesystem as a tar archive
        history   Show the history of an image
        images    List images
        import    Import the contents from a tarball to create a filesystem image
        info      Display system-wide information
        inspect   Return low-level information on a container or image
        kill      Kill a running container
        load      Load an image from a tar archive or STDIN
        login     Register or log in to a Docker registry
        logout    Log out from a Docker registry
        logs      Fetch the logs of a container
        pause     Pause all processes within a container
        port      List port mappings or a specific mapping for the CONTAINER
        ps        List containers
        pull      Pull an image or a repository from a registry
        push      Push an image or a repository to a registry
        rename    Rename a container
        restart   Restart a running container
        rm        Remove one or more containers
        rmi       Remove one or more images
        run       Run a command in a new container
        save      Save an image(s) to a tar archive
        search    Search the Docker Hub for images
        start     Start one or more stopped containers
        stats     Display a live stream of container(s) resource usage statistics
        stop      Stop a running container
        tag       Tag an image into a repository
        top       Display the running processes of a container
        unpause   Unpause all processes within a container
        version   Show the Docker version information
        wait      Block until a container stops, then print its exit code

Run 'docker COMMAND --help' for more information on a command.
2)在控制台执行“docker + 命令 + --help”,比如“docker start --help”,这样会列出docker start命令支持的所有参数,如下:
$ docker start -–help

Usage:  docker start [OPTIONS] CONTAINER [CONTAINER...]

Start one or more stopped containers

    -a, --attach=false         Attach STDOUT/STDERR and forward signals
    --help=false               Print usage
    -i, --interactive=false    Attach container's STDIN

3)使用man命令查看帮助文档。对于通过rpm包等方式安装的Docker,一般都会默认安装对应的man文档,此时可通过“man + docker + command”的方式查看子命令的帮助文档,比如“man docker start”,通常man手册中包含的帮助信息会更丰富一些,通过完整地阅读man手册,基本上就可以掌握该命令的常规用法。

DOCKER(1)                       JUNE 2014                           DOCKER(1)

NAME
    docker-start - Start one or more stopped containers

SYNOPSIS
    docker start [-a|--attach[=false]] [--help] [-i|--interactive[=false]] CONTAINER [CONTAINER...]

DESCRIPTION
    Start one or more stopped containers.

OPTIONS
    -a, --attach=true|false
        Attach container's STDOUT and STDERR and forward all signals to the process. The default is false.

    --help
        Print usage statement

    -i, --interactive=true|false
        Attach container's STDIN. The default is false.

See also
    docker-stop(1) to stop a running container.

HISTORY
    April  2014,  Originally  compiled  by  William Henry (whenry at redhat dot com) based on docker.com source material and internal work.
    June 2014, updated by Sven Dowideit (SvenDowideit@home.org.au)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
最新文章
相关文章
官网链接