1、centos7安装docker engine
参考文档:https://docs.docker.com/engine/install/centos/
(1)卸载之前的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2)安装yum-utils,设置docker仓库
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
(3)查看可以安装的版本
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable
(5)安装最新或指定版本
安装最新版本:
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
安装指定版本20.10.7:
sudo yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io docker-compose-plugin
(6)启动docker并设置为开机启动
sudo systemctl start docker && sudo systemctl enable docker
(7)测试docker安装是否成功
sudo docker run hello-world
(8)配置镜像加速器
设置方式参照:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
2、Docker安装tomcat和mysql
(1)tomcat:8.0
# 拉取镜像:
docker pull tomcat:8.0
# 根据镜像创建容器:
docker run -d --name tomcat01 -p 8088:8080 tomcat:8.0
(2)mysql
# -d设置后台启动, --name给容器命名, -p端口映射, -e添加环境变量
docker run -d --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=jack666 --
privileged mysql:5.7
3、将jar包制作镜像
(1)创建一个Spring Boot项目,写一个controller
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello Docker!!!";
}
}
注意在项目的pom.xml中一定要加下面配置,否则启动jar镜像会报错:no main manifest attribute
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
(2)mvn clean package,并在target下找到jar包,如"springboot-demo2-1.0-SNAPSHOT.jar"
(3)上传"springboot-demo2-1.0-SNAPSHOT.jar"到centos,并创建Dockerfile文件
FROM openjdk:8
COPY springboot-demo2-1.0-SNAPSHOT.jar sb-jar-image.jar
CMD ["java","-jar","sb-jar-image.jar"]
或者
# 基础镜像使用java
FROM java:8
#将jar包添加到容器中并更名为: sb-jar-image.jar
ADD springboot-demo2-1.0-SNAPSHOT.jar sb-jar-image.jar
#运行jar包
RUN bash -c 'touch sb-jar-image.jar'
ENTRYPOINT ["java","-jar","sb-jar-image.jar"]
#暴露端口
EXPOSE 8080
(4)基于Dockerfile构建镜像并查看
docker build -t sb-jar-image .
docker images
(5)基于image创建container
docker run -d --name sb-jar -p 8080:8080 sb-jar-image
(6)查看启动日志:docker logs sb-jar
(7)宿主机上访问curl localhost:8080/hello
[root@localhost ~]# curl localhost:8080/hello
Hello Docker!!![root@localhost ~]#
或者主机浏览器访问虚拟机ip:8080/hello
mysql高可用集群保证数据一致性:
(1)从库连接主库,(2)主库dump线程获取binlog发送给从库,(3)从库IO线程写数据到relay log,(4)sql线程读取relay log执行sql更新数据到从库
PXC
Percona Xtradb Cluster
多主+同步复制+强一致性
筛选 -> 网上填表 -> 笔试(算法,选择) -> 面试(公司介绍+个人介绍+架构设计+基础) -> 体检