博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Docker进阶与实战》——1.3节安装和使用
阅读量:6031 次
发布时间:2019-06-20

本文共 6000 字,大约阅读时间需要 20 分钟。

本节书摘来自华章社区《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来运行,网址介绍了获取的方法。虽然这样更简单,但还是推荐使用完整安装的方式,因为通过软件包安装的Docker,除了有可执行文件之外,还包括了Shell自动完成脚本、man手册、服务运行和配置脚本等内容,可以帮助用户更好地配置和使用Docker。

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

1.3.2 Docker的使用

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

$ dockerUsage: 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 quitCommands:        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 codeRun 'docker COMMAND --help' for more information on a command.2)在控制台执行“docker + 命令 + --help”,比如“docker start --help”,这样会列出docker start命令支持的所有参数,如下:$ docker start -–helpUsage:  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 containersSYNOPSIS    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)

转载地址:http://rochx.baihongyu.com/

你可能感兴趣的文章
Python知识点总结篇(三)
查看>>
【Qt笔记】绘制设备
查看>>
【Qt笔记】使用 QJsonDocument 处理 JSON
查看>>
Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑
查看>>
nginx,反向代理,负载均衡配置
查看>>
前端小姿势
查看>>
为什么Java的string类要设成immutable(不可变的)
查看>>
JAVA进程 Linux CPU占用率分析方法
查看>>
#etcd#安装时出错
查看>>
Java操作mongoDB2.6的常见API用法
查看>>
基于 Java 的 Active Record 开源项目
查看>>
hadoop 中什么是slots
查看>>
Maximum Subarray 最大子数组
查看>>
shell日志搜索命令
查看>>
链表的逆置
查看>>
【★】交换层网关协议大总结!
查看>>
snippet
查看>>
【Xcode command line】命令行工具
查看>>
单例模式
查看>>
CPP 插入排序
查看>>