一、认识Docker

    技术2025-10-13  18

    本博客来源于bilibili学习笔记

    https://www.bilibili.com/video/BV1R4411F7t9?from=search&seid=336413977865933084

     

    1 Docker的本质

    首先它是一个虚拟机,它主要的功能如下

    镜像可以理解成像操作系统镜像文件的ios文件等

    容器可以理解成正在运行的一个虚拟机

    tar文件  可以将一个镜像直接保存成一个tar文件,别人通过load指令,重新能加载这个镜像,然后通过run指令就可以运行这个容器了

    Dockerfile是一个配置文件,通过写如何去构建的步骤来指定一个镜像是如何构建的,然后通过docker build指令将一个dockerfile构建成一个镜像

    仓库,也就是远程仓库,他保存了很多镜像,包括共有的第三方已经做好的镜像,例如ubanto、ngix、mysql、tomcat镜像等,也可以将自己的镜像通过push上传上去

     

    2.学习Docker的好用的网站

    https://labs.play-with-docker.com/

    pull

    例如  docker pull mysql   其实是  docker pull mysql:latest   

    然后 执行  docker images   如下图已经有了一个镜像了

    docker run -d -p 80:80 mysql  

    //-d 表示运行时候不要阻塞shell窗口   -p表示 内外端口的一个映射   mysql是我们执行的镜像  

    docker ps //显示运行的容器   这时候  我们发现没有容器运行  这个以后再说  换个例子 用 nginx

    docker pull nginx   

    docker images 

    docker run -d -p 80:80 nginx     然后就可以看到这个容器运行起来了

     docker run -d -p 81:80 nginx  内部81端口映射到外部     相当于又启动了一个容器

    docker rm -f 74//s删除81端口

     

    commit

    指定镜像名字   把我们上面  ID是a28e6e5b的容器  提交成一个镜像

    docker commit a28e6e  m1      

    docker run -d -p 90:80 m1 运行m1镜像

    我们上面的操作就是  m1是nginx的一个镜像   如果我们对nginx做了修改  再保存的话  m1就相当于一个备份  备份了nginx的修改

    运行m1就是运行nginx修改后的样子

     

    Dockerfile

    新建一个Dockerfile  文件

    vi Dockerfile   然后对文件的编辑如下

    FROM nginx    表明我们是基于nginx这个镜像构建的基镜像

    ADD ./ /usr/share/nginx/html/   将当前目录下的所有文件拷贝到  user.share.nginx.html/这个文件夹下

    退出保存   esc        :wq

    vi  index.html   输入 wai bu de wen jian 

    docker build -t m2 .     构建的m2镜像   基于当前文件构建的  .代表的就是档期那文件

    docker run -d -p 100:80 m2

    然后点击100端口就可以看见  我们的html  wai bu de wen jian 了 

     

     

    save  load

    查看我们目前运行的镜像

    docker ps

    docker save m2 >1.tar  保存m2容器到1.tar文件

    docker rm -f 13bc  删除m2r容器

    docker rmi m2   删除m2镜像

    docker load < 1.tar  从1.tar中保存的m2镜像 加载过来 

    docker run -d -p 100:80 m2  运行m2镜像   点开100端口 可见  内容还是  wai bu de wen jian 

     

     

     

     

     

     

    Processed: 0.009, SQL: 9