美文网首页
Docker 安装部署入门

Docker 安装部署入门

作者: slords | 来源:发表于2017-06-09 15:17 被阅读0次

    Docker是现在比较流行的部署Web应用平台,但是现在对其的中文说明较少,特别是安装部分,所以做该篇以记录。

    Docker安装

    操作系统:CentOS7

    Docker可是便捷的使用yum进行安装步骤如下:

    CentOS7本身的yum并不包含docker的源,通过如下方式将YUM源加入:

    sudo yum install yum-utils -y

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    加入YUM源之后,即可直接安装docker:

    sudo yum -y install docker-ce

    设置docker服务开机运行:

    sudo systemctl enable docker

    启动docker服务:

    sudo systemctl start docker

    简单的Docker部署

    Docker官方提供很多类型的镜像提供使用可以通过下述方式直接搜索。

    sudo docker search ubuntu //搜索名字中带有ubuntu的镜像

    可以得到如下的返回

    image.png

    之后可以通过下述代码部署镜像

    sudo docker pull ubuntu

    创建服务镜像

    先创建一个文件夹作为操作的文件夹,并进入该文件夹。

    mkdir ~/project

    cd ~/project

    创建一个Dockerfile文件,创建镜像的操作会使用Dockerfile内的信息进行创建和业务部署的操作。所以Dockerfile对于业务部署很重要。具体参见Dockerfile编写说明

    记创建的镜像标签为<image_tag>,使用下述代码可以创建该镜像。

    sudo docker build -t <image_tag> .

    其中build是docker的操作参数,-t 之后是镜像的tag列表,每个tag格式为name:tag,默认的taglist的值为空列表[]。此外"."指定了工作的文件夹,该文件夹。该操作会默认调用该文件夹下的Dockerfile文件。

    Dockerfile编写说明

    创建的创建镜像的时候,Dockerfile是必不可少的。一般约定,操作指令为全大写的单词,但本身不分大小写,以下是开始介绍文件的配置和语法。

    引用镜像

    通常,业务的镜像都可以通过对基础镜像进行更改得到的,而导入基础镜像则可以通过下述部分实现。

    FROM <image_name>

    FROM意味着导入引用一个镜像,<image_name>为镜像名称。Dockerfile文件需要以该句作为开头。

    注释

    #可以对该行进行注释

    #这句话不会被执行

    署名

    使用MAINTAINER设置镜像作者名称。

    #作者署名为auther
    MAINTAINER auther

    指定用户

    使用USER指定运行指令用户。

    #以root用户执行操作
    USER root

    设置环境变量

    使用ENV设置环境变量。ENV以键值对形式进行设置。

    #设置将Python的路径设置为环境变量python_home
    ENV python_home /usr/lib/python
    #多个变量可以以这种形式设置
    ENV python_home /usr/lib/python
    ENV my_name Mr.\ slords
    ENV url_location jianshu.com
    #或者
    ENV python_home=/usr/lib/python my_name=Mr.\ slords
    url_location=jianshu.com

    引入文件

    使用ADD,COPY将文件复制入容器内。

    #将当前目录下的ta-lib-0.4.0-src.tar.gz文件解压到容器中的当前目录下
    ADD ./ta-lib-0.4.0-src.tar.gz ./
    #将网络位置的ta_lib包内容复制到容器中的当前目录下
    ADD http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz ./
    #将当前目录下的deb文件复制到容器中的/deb目录下
    COPY ./*.deb /deb/

    ADD和COPY在功能上近似,但是ADD在功能上比COPY强大在
    1.ADD支持网络位置
    2.当文件是压缩包的情况下ADD会自动将其解压至对应位置

    指定端口

    使用EXPOSE设定容器在运行时监听的端口

    #监听65534端口
    EXPOSE 65534;

    设置工作目录

    使用WORKDIR可以指定RUN、CMD与ENTRYPOINT运行指令所在的工作目录。

    #设置工作目录在/home/admin下
    WORKDIR /home/admin

    运行指令

    使用RUN运行指令。

    #ubuntu下创建一个temp文件夹
    mkdir temp

    设置默认指令

    使用CMD设定一个默认的指令,会在run时执行。

    #当终端使用
    #docker run CONTAINER_NAME
    #时,设置容器会执行uname -a
    CMD uname -a
    #或者
    CMD ["uname","-a"]
    #如果设置了
    #ENTRYPOINT uname
    #做如下设置列表中内容作为默认参数传入
    CMD ["-a"]

    CMD之会有一条生效,后一条会覆盖前一条。

    设置入口

    设置入口可以限制运行的代码,使用ENTRYPOINT进行设置

    #当终端使用
    #docker run CONTAINER_NAME abc
    #时,设置容器会执行echo ABC abc
    ENTRYPOINT echo ABC
    #或者
    ENTRYPOINT ["echo ", "ABC"]

    其他

    其他配置指令可参考
    Dockerfile reference | Docker Documentation: https://docs.docker.com/engine/reference/builder/

    Docker

    相关文章

      网友评论

          本文标题:Docker 安装部署入门

          本文链接:https://www.haomeiwen.com/subject/jacfqxtx.html