• docker 命令


    1、commit 命令

    在这里 我们已一个安装一个带有vim功能的ubuntu 为实例,上传为一个新的镜像,pull 的ubuntu并没有vim功能

    (1)首先从官网上 pull ubuntu到本地

    docker pull ubuntu

    (2)能正确运行 ubuntu的实例

    (3)apt-get update

    (4)apt-get -y install vim

    (5) 把我们安装好带有vim的镜像提交 

    docker commit -m="add vim cmd" -a="cky"  容器名 新的目标镜像名[:tag]

    2、阿里云镜像加速器

    进入阿里云官网,找到容器镜像服务

    容器工具 镜像加速器 之后按照4步骤来就可以

    配置过镜像加速器,就会使我们从dockerhub上pull 或push更快一些

    3、run 中-p端口映射的作用

    默认情况下,docker内的容器是不能与外部进行通信的,想要与外部进行通信,就必须进行端口映射。

    -P 这个是随机端口映射

    -p 这是自定义端口映射

    -p 宿主机port:容器port

    通过访问宿主机的port端口 就能访问到该docker容器

    如 本地ip是192.168.2.12

    docker run -p 8001:8080 镜像名

    则我们可以通过192.168.2.12的8001端口访问到该镜像名的容器。

    4、本地镜像发布到阿里云

    首先创建一个阿里云个人账户

    创建一个命名空间以及镜像仓库

    按步骤运行

    出现的错误以及解决方案

    见此博客

    5、本地镜像发布到私有库

    对于一些有机密的公司,可能并不想把镜像提供给外网,这时候就需要公司内部的私有库。

    docker registry 就是一个可以构建私有镜像的仓库

    5.1 拉取registry

    docker pull registry

    5.2 运行私有库registry 相当于本地有个私有的docker hub

    docker run -d -p 5000:5000 -v /myrigistry/:/tmp/myregistry --privileged=true registry

    此时,实现了registry 与本地宿主机的联调,不会导致registry容器关闭后,内容的丢失。

    5.3 使用curl验证私服库上有什么镜像 

    这里的ip 地址 是宿主机的ip

    我们可以通过 ip addr 找到 ens33 下的 inet后的ip地址就是这里要写入的ip地址

    5.4 将新的镜像修改为符合私服库的tag

    5.5修改配置文件使之支持http

    docker私服库默认是不支持http的

    修改etc/docker/daemon.json

    5.6 push推送到私服库

    验证一下 看是否成功

    5.7 pull到本地并运行

    6、docker 镜像分层

    镜像分层的好处是可以复用,我们可以在基础的base镜像上 更新一些新的内容,在形成一个新的镜像。

    比如ubuntu是没有vim功能的,此时我们可以在基础的ubuntu的颈项上下载 一个vim,之后通过commit命令提交,形成一个含有vim功能的新的镜像。

    6、数据卷

    对于容器来说,只是镜像的一个实例,如果我们不小心退出了或者移除了该容器,则容器中的内容就会消失,就像我们写在内存中的东西,如果断电了就会消失一样,此时就需要一个保存机制,数据卷的出现就是如此。

    命令如下:

    该命令可以将我们的宿主机与我们的容器目录内的文件相互关联起来。

    如:

    这条命令是将我们主机的tmp文件与容器的tmp文件 相连了,如果容器的tmp文件下多了一个a.txt 和b.txt,则主机的tmp文件下也会多这两个文件。

    如图

    当容器stop之后,如果在主机的文件夹内进行修改,容器如果被start和exec之后,容器也会同步更新。

    我们可以通过docker inspect 容器名 可以来查看容器具体内容包括挂载

    6.1 权限设置

    后边什么都不加 就是rw,即宿主机的内容 容器可读可写,但是如果写上ro,就是只读的,这个权限是对于容器来说的。

    6.2 容器卷的继承

    对于 容器卷 我们也可以继承

    命令:

    实例:

    这里是u2 继承自u1容器卷。

    7.dockerfile详解

    见这篇博客 这一篇

    dockerfile就是去构建一个自己的镜像,FROM是来自于哪个基础镜像,通过RUN与ADD我们可以构成一个属于我们的镜像,CMD命令只会执行最后一个。

    RUN 是built是运行的,用来构建镜像。

    CMD 是我们run 容器时执行的。

  • 相关阅读:
    .net第二章数据类型、变量和常量
    (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
    重温FPGA开发37
    从零开发短视频电商 数据库大表分页问题
    树莓派简单驱动编写以及代码测试
    HTML+CSS静态网页设计:(房地产网站设计与实现6页)
    C++关键词探索:理解变量、函数参数、函数返回值以及类成员函数的修饰符
    CTFshow web42 43 44 45 46 47
    数学模型水动力模拟、水质建模、复杂河网构建技术在环境影响评价、排污口论证及防洪评价中的实践技术应用
    Poco库使用:文件压缩和解压缩
  • 原文地址:https://blog.csdn.net/qq_45906101/article/details/133706893