Docker基础学习笔记(Linux)

  • Docker简介
    docker提供一种容器化的技术,使得各个Application及其进程独立运行,互不打扰。且比虚拟机效率更好,耗费内存更低。

  • docker的目标就是“Build,Ship and Run any App,Anywhere",构建,运输,处处运行
    容器理解,相当于一个封装了的进程,由镜像为其提供文件系统rootfs。下图为docker的生命周期。

  • 开发容器化的app大概步骤
    1、创建Docker镜像并为每个app创建组件和容器
    2、容器与内容组装成一个完整的应用程序
    3、Test,Share,Deploy,App
    Tips:CURL(6)错误,把网址用双引号括起来

  • Docker基础常用命令
    docker --version #查看docker版本
    docker image ls #列出所有镜像
    docker ps -all #列出历史进程,容器
    docker build #构建镜像,docker build --help,Dockerfile文件包含一组指令来告诉Docker如何构建我们的镜像
    典型用法:
    docker build -t ImageName:TagName dir
    选项
    -t − 给镜像加一个Tag
    ImageName − 给镜像起的名称
    TagName − 给镜像的Tag名
    Dir − Dockerfile所在目录
    docker run #在容器中运行镜像 参数: -publish 端口号映射8000:8080 -detach 后台运行 -name 为容器起一个别名
    docker rm #删除镜像
    docker push #上传到Docker hub。格式:docker push /镜像名字:tagname

  • dockerfile
    Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。
    docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。
    例:
    docker build -f /path/to/a/Dockerfile
    Dockerfile的基本结构
    Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释
    其他的一些信息:
    https://www.cnblogs.com/panwenbin-logs/p/8007348.html

  • 上传自己的代码和结果到dockhub上
    第一步:从比赛地址pull下来镜像。docker pull 镜像
    第二步:创建自己的文件夹目录(eg:tianchi_submit_demo),文件夹目录下面一般有Dockerfile,核心代码,result.json,run.sh
    Dockerfile文件配置参考:https://www.cnblogs.com/panwenbin-logs/p/8007348.html
    核心代码就是自己参赛所使用的代码,result就是代码运行结果,run.sh是脚本文件,一般用来运行核心代码
    第三步:对Dockerfile等文件进行编辑
    第四步:创建镜像 docker build,具体怎么创建看build的文档
    第五步:上传镜像 docker push
    Tips:
    始终使用"用户名"和"标签"构建图像
    docker build -t /dev-fedora:latest .
    构建后推送图像
    docker push /dev-fedora:latest
    此贴后续会持续更新:)

原文地址:https://www.cnblogs.com/lizhe-cnblogs/p/13728812.html