Docker学习笔记
前言·
【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili
【狂神说Java】Docker进阶篇超详细版教程通俗易懂_哔哩哔哩_bilibili
Overview of the get started guide | Docker Docs || Docker文档
前言 · Docker – 从入门到实践 (docker-practice.github.io)||网络开源文档/书籍
其实网上关于docker的博客讲解或文档挺多的
其实对于Linux命令的熟悉要求还是很高的
跳过章节·
30、实战:Dockerfile制作tomcat镜像26:19
Docker概述·
出现原因:
之前产品从开发到上线,两套环境和配置 开发和运维(程序在我的电脑上可以运行)
jar+(环境:Redis、Mysql、jdk、ES)
跨平台
一键打包环境镜像
What is Docker? The spark for the container revolution | InfoWorld docker 集装箱_什么是Docker? 集装箱革命的火花-CSDN博客
dotcloud–>Docker 相比虚拟机vm,小巧
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
Docker的好处,不再赘述:为什么要用 Docker · Docker – 从入门到实践 (docker-practice.github.io)
Docker 包括三个基本概念
- 镜像(
Image
):是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。 - 容器(
Container
):容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。 - 仓库(
Repository
):镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。
镜像(Image
)和容器(Container
)的关系,就像是面向对象程序设计中的 类
和 实例
一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
按照文档和博客安装Docker(服务器CentOS7):Install Docker Desktop on Linux | Docker Docs 注意配置阿里云镜像
简单的使用及常见命令·
docker run:本机寻找镜像–>docker hub下载
关于底层原理:客户端到docker守护进程 不太懂 8、Run的流程和Docker原理_哔哩哔哩_bilibili
理论还没有实践,实践后再来看就懂了
Docker的抽象层相比虚拟机更少,docker利用的是宿主机的内核,而vm则是 Guest OS
1 | docker --help #很多简单的和linux思路类似 |
镜像的基本命令:·
边学边敲
1 | docker images#显示镜像 |
容器相关命令·
1 | docker run -it centos /bin/bash#例子 想知道和nt关系 |
常用的其他命令·
*单杠是缩写的,双杠需要写具体的
Portainer可视化面板
容器数据卷使用·
容器数据的持久化和同步操作,容器间数据共享
直接用命令挂载 -v : docker run -it -v 主机目录:容器内目录
docker inspect 容器id 查看详细信息 mounts 挂载
具名挂载和匿名挂载·
匿名:只指定容器内路径
具名: 卷名:容器内路径
指定路径: /宿主机内路径:容器内路径
Dockerfile·
你1倍速看一遍就懂了 你非两倍速看两遍
数据卷容器:实现多个容器之间的数据共享 --volumes-from继承
软连接
容器之间配置信息传递,数据卷生命周期持续到最后一个容器被删除,如果持久化到本地,本地数据不删除
Dockerfile用来构建docker镜像文件
步骤:
- 编写Dockerfile文件
- docker build 构建成一个镜像
- docker run 运行镜像
- docker push 发布镜像
看完容易,敲完难,这些视频我看了好久
构建自己的centos:
很多都是从基础镜像开始:FROM scratch
docker centos没有vim命令,进入的是根目录 手把手教你用 Docker 构建自己的 CentOS 基础镜像_docker centos基础镜像-CSDN博客
没搞懂:workdir就是直接进入docker的目录吗,还是说WORKDIR 指定工作目录 · Docker – 从入门到实践 (docker-practice.github.io)
发布镜像·
看了自己dockerhub账号,好像一年前了解过,不知道是要做什么项目
login–>docker push,加上版本号
发布到阿里云容器服务上,跳过
看着docker小结的图片,想到了之前的
截至33、Docker所有流程小结_哔哩哔哩_bilibili 暂时齐全
感觉能看懂下面这张图,搜索能部署好项目,就算是docker OK!
接下来就关于运维、集群
Docker网络·
理解docker0·
先清空容器、镜像
ip addr
查看网卡lo 本机回环地址;eth0服务器内网地址;docker0,docker生成的网卡
容器互联—— --link 不ping ip,直接pinh服务名(host映射)
几句话的事讲的太细
自定义网络
Gateway网关
好处:不同集群使用不同的网络,保证集群是安全健康的
网络模式:
none:不配置
host:和宿主机共享网络
container:容器内网络连通
网络连通:docker network --help ||connect(确实,–help挺方便的)容器和那个网络连通,但是不会在容器间传递
Redis集群部署实战
分片+高可用+负载均衡
完结撒花,对学习充满了兴趣~~~
其他资料·
Docker 10分钟快速入门_哔哩哔哩_bilibili||也没看懂,适用于学会了的人
分类: Docker系列 | 我不是咕咕鸽 (laoda.de)