Docker Compose
参考视频:编程不良人的Docker-Compose实战教程 https://www.bilibili.com/video/BV1ZT4y1K75K?p=24
简介
Compose是 Docker 官方的开源项目,可以轻松、高效的管理容器,实现对Docker容器集群的快速编排。定位是定义和运行多个Docker容器的应用。
我们自定义使用 Docker 时,需先编写 Dockerfile 文件,再使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动操作,那么维护量会很大而且效率会很低。
Compose项目由Python编写,实际上调用了Docker服务提供的API对容器进行管理。
官网相关介绍:
Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,我们可以使用YAML文件来配置应用程序的服务。然后,只需一个命令,就可以从配置中创建并启动所有服务。
使用Compose基本上分为三步:
使用Dockerfile定义应用程序的 ...
Docker网络
参考视频:狂神说的Docker网络篇 https://www.bilibili.com/video/BV1og4y1q7M4?p=34
理解docker0通过ip addr命令可以查看linux上的网卡和IP地址等信息。
12345678910111213141516171819[root@nanzx ~]# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens33: <BROADCAST,MU ...
DockerFile解析
初识DockerFileDockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
构建发布的四个步骤:
编写DockerFile文件
docker build
docker run
docker push发布镜像(DockerHub 、阿里云仓库)
以熟悉的CentOS7为例:
12345678910FROM scratchADD centos-7-docker.tar.xz /LABEL org.label-schema.schema-version="1.0" \ org.label-schema.name="CentOS Base Image" \ org.label-schema.vendor="CentOS" \ org.label-schema.license="GPLv2" \ org.label-schema.build-date="20181204"CMD ["/bin/bash"]
...
Docker镜像和容器数据卷
Docker镜像镜像是一种轻量级、可执行的独立软件包,是用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
镜像加载原理UnionFs (联合文件系统):
Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union 文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。
我们pull镜像的时候看到一层层的下载就是这个。
docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。
bootfs(boot file system) ...
HttpClient的使用
HttpClient官网
本文参考地址:【CSDN】HttpClient详细使用示例 justry_deng
HttpClient主要用于访问其他接口
准备引入相关依赖:
12345678910111213<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --><dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency> <groupId>com.alibaba< ...
Docker入门篇
参考视频:周阳老师的尚硅谷_Docker核心技术(基础篇)https://www.bilibili.com/video/BV1Vs411E7AR
简介Docker官网
Docker官方文档
Docker Hub官网
中文参考手册
是什么为什么会有Docker出现?
一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。
环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
之前在服务器配置一个应用的运行环境,要安装各种软件,Java/Tomcat/MySQL/JDBC驱动包等。安装和配置这些东西有多麻烦就不说了,它还不能跨平台。假如我们是在 Windows 上安装的这些环境,到了 Linux 又得重新装。况且就 ...
关于MBG和Mybatis-Plus的自动生成
MBGCSDN MyBatis Generator 详解
MyBatis Generator官方文档
具体使用:
Pom.xml文件引入相关依赖:
12345678910111213141516171819202122232425<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> ...
前端的一些笔记
CSS相关div填充整个页面
解决小白边
12345html, body { margin: 0; padding: 0; height: 100%;}
div位置移动12345.box-card1 { width: 520px; margin-left: 430px; margin-top: 140px;}
元素移动 style="float: left"
背景图填充整个div123456.login{ height: 100%; width: 100%; position: fixed; background-image: url("https://unpkg.com/nan-picture/img/3标签.jpg");}
div添加下划线(阴影)123.row-bg { border-bottom: medium solid #E0E0E0;}
更多介绍
控制字体行间距123.i-info{ line-he ...
Druid数据源的使用
目前市场上最主流的数据源,是阿里巴巴计算平台事业部出品,为监控而生的数据库连接池。
官网地址:https://github.com/alibaba/druid
中文文档:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
整合Druid的两种方式:
导入相关依赖进行自定义配置
使用starter场景启动器自动配置
自定义方式导入依赖123456<!-- https://mvnrepository.com/artifact/com.alibaba/druid --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.4</version></dependency>
基本配置123456spring: datasource: dr ...