生活资讯
Docker初级学习指南
2025-01-01 21:05  浏览:62

跟着B站狂神学习的笔记,若有不足请多担待

1.卸载旧版

 

去查官网吧

Docker是一个Client-Server结构的体系,Docker的守护进程运行在主机上。通过Socket从客户端访问

DockerServer接收到Docker-Client的指令,就会去执行这个命令

帮助命令

 

帮助文档的地址:https://docs.docker.com/engine/reference

镜像命令

  1. docker images #查看本主机的所有镜像
 
  1. docker search #搜索镜像
 
  1. docker pull 镜像名 #下载镜像
 
  1. docker rmi 删除镜像
 

容器命令

#有了镜像才可以创建容器

1.运行容器命令

 

示例1:进入centos容器,以交互模式进入

 

2.退出容器命令

 

3.列出运行过的容器命令

 

4.容器删除命令

 

5.启动和停止容器命令

 

常用其他命令

1.容器日志的查看

 

常用命令

 

NOTE

 

2.查看容器进程信息

 

3.查看容器的元数据

 

4.进入当前正在运行的容器

 

5.拷贝容器上的文件到本地

 

小结

作业一:安装Nginx

 
 

镜像是什么

镜像(image)是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码、库、环境变量和配置文件。

所有的应用,直接打包docker镜像,就可以直接跑起来

如何得到镜像

  • 从远程仓库下载
  • 朋友拷贝给你
  • 自己制作一个镜像DockerFile

Docker镜像加载原理

UnionFS(联合文件系统

Union文件系统是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像,可以制作各种具体的应用镜像。

**特性:**一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终文件系统包含所有底层的文件和目录

打包自己的镜像,将镜像层与容器层打包成新的镜像(image

命令

 
 
 

什么是容器数据卷

为了解决什么问题

如果数据都在容器中,那么容器被删除,数据也会跟着被删除! 需求:数据可以持久化

例如:MySQL容器被删除,数据库数据也会丢失!因此,希望 Mysql数据可以存储到本地

容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地

这就是卷技术!目录的挂载,将容器与本地打通数据共享的通道

一句话:容器中数据的持久化和同步操作

使用数据卷

方法一:直接使用命令来挂载 -v

 

查看是否挂载成功

 
 
 

在宿主机上创建文件

Note

 
 

具名和匿名挂载

匿名挂载

 

具名挂载

 

所有docker容器内的卷,没有指定目录的情况下都是在

匿名挂载具名挂载区别

 

扩展

 

数据卷容器

容器之间通过挂载卷实现数据共享,数据共享方式为值拷贝。一个容器坏了不会影响其他挂载的容器中的数据

 
 

DockerFile介绍

dockerfile是用来构建docker镜像的文件!命令参数脚本

构建步骤

1.编写一个dockerfile文件

2.docker build 构建成为一个镜像

3.docker run 运行镜像

4.docker push 发布镜像

DockerFile构建过程

基础知识

  1. 每个保留关键字(指令)都是必须是大写字母
  2. 执行从上到下顺序执行
  3. #表示注释
  4. 每一个指令都会创建提交一个新的镜像层,并提交

DockerFile的指令

 

实战测试

构建自己的centos

 

CMD和ENTRYPOINT的区别

https://blog.csdn.net/u010900754/article/details/78526443

发布自己的镜像

DockerHub

1.地址 https://hub.docker.com/注册自己的账号

2.确定这个账号可以登录

3.在服务器上提交自己的镜像

 

4.登录完毕后就可以提交镜像了,就是一步docker push

 

小结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EzuwIbrj-1647163637162)(F:my_notebookjava_seimageimage-20220312204644430.png)]

理解Docker0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5f0PwZMF-1647163637163)(F:my_notebookjava_seimageimage-20220312210452465.png)]

容器互联–link(不建议使用

问题:能否通过容器名直接进行网络访问

 

探究:docker0 中的network信息

 

自定义网络

查看docker网络信息

 

网络模式

bridge:桥接docker(默认,自身搭建网络也使用bridge模式

none:不配置网络

host:和宿主机共享网络

container:容器网络连通

创建网络

 

结论

自定义的网络可以通过容器名直接ping通,而默认的docker0不支持

自定义的网络有助于进行容器间区域隔离

官方解释

 

大意:用户自定义的网卡可以在容器之间提供自动的 DNS 解析

网络打通

 

实验

    以上就是本篇文章【Docker初级学习指南】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/xwnews/928.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
SQL数据清洗:利用SUBSTRING和CHARINDEX处理无效字符
截取字符串 我们在做BI可视化之前,通常需要已经清洗干净的数据才能进行可视化分析。 随着电商的发展,有很多数据都
Python数据分析与展示
快讯:这是本课程第20次开课~~本课程是国家精品在线开放课程“Python网络爬虫与数据分析”的下半部分,欢迎大家加入学习!“我们
MacOS升级ruby版本
1. 历史与起源Bourne Shell (sh) ,即 Bourne Shell,是由 Stephen Bourne 在 1977 年开发的。它是最早的 UNIX Shel
SHOPYY:今天不聊亚马逊,我们只谈独立站
说到跨境电商平台,大部分人跟我一样,最先想到的就是亚马逊、eBay、速卖通、Wish这四大目前主流的平台。跨境电商卖家们借助平台
上外Blackboard在线建课问答第十二期(Q&A)
SISU上外Blackboard在线建课问答第十二期(QA)教师的个人课程列表中有一门《在线课程建设培训》,可自主学习相关资料。课程列表
uniapp开发H5拉起微信支付全流程(含H5获取用户code、openid方法)
这两天遇到一个需求就是开发微信公众号H5界面,需要点击支付按钮拉起微信进行支付。我自己觉得H5和小程序的支付流程还是有
一个月内三刷PB,吴艳妮发声
  澎湃新闻记者 祁东  仅用两周时间,吴艳妮又一次刷新自己的个人最好成绩(PB)。  吴艳妮一个月内三刷个人最好成绩。资
“用C语言实现计算功能”中,对比AI的程序,我的收获
最近写了一个用C语言实现计算功能的程序,已上传。运行截图:然后让文心一言也写了个程序:它只能计算例如3&#
【VS插件】学习笔记|AutoHistory:自动保存你的代码历史文件
你是不是曾经希望自己可以回滚一段你有修改过的工程的代码? 比如说,自己编写的一个程序原本是正常运行的、计算结
相关文章