• docker


    基础使用

    参考链接:

    打包镜像至阿里云

    参考链接:

    有这么个需求,我想把一些工具打包至镜像中,不然每次用云主机的时候都得部署,太麻烦了。所以我下载了一个基础的 Ubuntu 镜像,里面放一点自己常用的工具。放上工具之后,我想将这个运行的容器打包成镜像,然后上传至阿里云镜像服务中,所以便有了这一节。

    首先将运行的容器暂停并打包成镜像。

    docker commit -a "ahtoh" -p -m "nothing v0.1" 容器名称或id 打包的镜像名称:标签
    

    选项说明:

    • -a:提交镜像的作者
    • -p:在commit时,将容器暂停
    • -m:提交时的文字说明

    在打包成镜像之后,接下来就是将镜像上传至阿里云镜像服务中。登录阿里云后,搜索容器,找到镜像服务,点击进入到容器镜像服务页面。

    实例列表中点击个人实例,进入到个人实例-概览页面。选择地域,这些东西一般是离你越近越好。然后选择镜像仓库,创建镜像仓库。在镜像仓库名称创建前,还要新建个命名空间。信息填写完成后,点击“下一步”,在代码源选项框中,选择本地仓库,点击创建镜像仓库

    创建完成后,会自动跳转到仓库基本信息页面,里面有操作指南,包括登录(密码是阿里云登录密码)、拉取和推送。

    打完收工!

    docker删除镜像

    删除镜像前需要先将依赖于该镜像的容器删掉,而如果要删掉该容器,则需要先将该容器停止。

    docker stop 容器id
    docker stop $(docker ps -a -q)   // 停止所有容器
    

    容器停止后进行删除。

    docker rm -f 容器id
    docker rm -f $(docker ps -a -q)  // 删除所有容器
    

    删除容器后,进行镜像删除。

    docker rmi 镜像id
    

    文件挂载

    参考链接:

    docker文件挂载有两个参数,一个是-v,一个是--mount。(xxx 是省略内容)

    docker run -xxx -v [宿主机绝对路径]:[容器内部绝对路径] xxxx
    docker run -xxx --mount type=bind,source=[宿主机绝对路径],target=[要挂载到容器内部的绝对路径],[readonly] xxxx
    

    --mountreadonly是可选项,加了代表该文件是只读权限,挂载到容器内部后,即使容器内部是root权限也无法修改该文件内容。

    从参考链接上看,docker没有提供给正在运行的容器挂载文件的选项。看文章貌似方式很多:

    1. 先把容器停掉,并将其commit 为一个新的 image,然后运行新的 image挂载
    2. sshfs

    目前我用的是第一种方法。

    本博客虽然很垃圾,但所有内容严禁转载
  • 相关阅读:
    Oracle 提示 用户在线,无法删除的清理方法
    拉格朗日乘子法和KKT条件
    主题模型及其在文本情感分析中的应用
    spring-data-elasticsearch整合elasticsearch
    自然数的K次幂的数列求和
    SVM 简要推导过程
    机器学习中导数最优化方法(基础篇)
    漫谈:机器学习中距离和相似性度量方法
    A geometric interpretation of the covariance matrix
    数据挖掘算法之协同过滤算法
  • 原文地址:https://www.cnblogs.com/ahtoh/p/15670601.html
Copyright © 2020-2023  润新知