Docker基本使用
创始人
2024-03-23 04:56:38
0

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

    org.springframework.bootspring-boot-maven-plugintrue

(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

多主+同步复制+强一致性

筛选 -> 网上填表 -> 笔试(算法,选择) -> 面试(公司介绍+个人介绍+架构设计+基础)  -> 体检

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...