一个前端,爱跑步、爱吉他、爱做饭、爱生活、爱编程、爱南芳姑娘,爱我所爱。世间最温暖又无价的是阳光、空气与爱,愿它们能带你去更远的地方。

  • 文章
  • 心情
  • 照片墙
  • 留言板
  • 工具
  • 友链
  • biaoblog

    专注web开发技术分享

    Docker的学习记录

    随笔 276 2021-03-23 17:26

    1.首先下载Docker (这里以windows 桌面版为例)

    https://www.runoob.com/docker/windows-docker-install.html


    2.下载docker后的命令操作

    2.1.创建一个镜像(拉取)

    docker pull nginx

    2.2.查看在进程中的镜像

    docker ps

    2.3.查看所有的镜像

    docker images

    2.4.启动镜像

    docker run -d -p 80:80 nginx (-d为不阻塞当前的进程,在后台执行,-p为端口配置 80外 :80内)

    2.5.进入镜像(修改环境)

    docker exec -it {{IMAGE_ID}} bash

    2.6.退出镜像环境

    exit 

    2.7.强制删除docker 容器和镜像

    docker rm -f {{IMAGE_ID}}

    docker rmi -f {{IMAGE_ID}}

    2.8.复制镜像

    docker commit {{IMAGE_ID}} {{NEW_IMAGE_NAME }}

    2.9.liunx修改文件内容 

    echo hello > index.html >表示覆盖 >>表示追加


    3.Dockerfile基础配置以及构建

    基础的文件目录为下图:

    配置:

    FROM 必须,镜像源 eg: FROM alpine

    WORKDIR :非必须,指定当下的shell语句运行在哪个目录下,如果没有则自动创建 eg: WORKDIR /app

    COPY : 复制 eg: COPY src/ /app   (src为复制源的当前目录 /app 为复制目标的目录,中间有空格)

    ADD:添加 eg: ADD src/ /app (跟COPY的区别在于源地址不仅可以文件路径也可以是URL )

    RUN : 执行shell 语句 eg: RUN echo 321 >> 1.text 

    CMD :执行shell语句 eg: CMD tail -f 1.text (tail -f 阻塞式) eg2:CMD cat 1.text

    EXPOSE:指定暴漏端口

    VOLUME: 指定映射到宿主机的目录下 eg:VOLUME /a/b

    ENV:指定当前环境变量 eg: ENV A=10  输出: echo $A

    ARG:环境变量(跟ENV的区别是ARG只在构建的时候有效(docker build),构建完成后,再执行就无效了,ENV一直有效)

    在构建时可以使用 docker build -t test --biuld-arg A=10 . 来传递初始的全局变量 

    LABEL:指定一些源数据信息以 key="value"的形式,起到标实作用 eg:LABEL k="v" k1="v1"

    ONBUILD:当前镜像构建的时候不会执行,基础当前的镜像的镜像构建的时候才会执行

    SHELL :指定SHELL 一般指cmd和shell的切换 eg: SHELL /bin/sh (liunx) eg2:SHELL cmd (windows)

    USER:用于指定RUN CMD等指令运行时的用户身份,不指定是root eg:USER node 

    另附:RUN和CMD区别:

    两者都是用于执行命令,区别在于执行命令的时机不同,RUN命令适用于在 docker build 构建docker镜像时执行的命令,

    而CMD命令是在 docker run 执行docker镜像构建容器时使用,可以动态的覆盖CMD执行的命令。


    基础的Dockerfile文件

    FROM alpine

    WORKDIR /app

    RUN echo 321 >> 1.text

    CMD cat 1.text


    构建:docker build -t test .  (-t意思为命名镜像,. 意思为Dockerfile在当前的目录下,可以理解为Dockerfile的位置)

    参考视频:https://www.bilibili.com/video/BV1k7411B7QL

    https://www.bilibili.com/video/BV1R4411F7t9


    总结:两个准备 先下载docker 后写Dockerfile 两个命令 先build 后run

    build:

    docker build -t test .
    

    构建完之后可以 通过docker images 来查看是否创建镜像成功了


    run:

    docker run test
    


    文章评论

    评论列表(0