2024年最全从docker到k8s进阶,纯干货:深度认识Sharding-JDBC

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

3.5:设置stable存储库。

sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”

3.6:再更新一下apt包索引。

sudo apt-get update

3.7:安装最新版本的Docker CE。

sudo apt-get install -y docker-ce

如果想安装特定版本的Docker CE,先用apt-cache madison docker-ce命令列出可用的版本,然后再根据版本号安装。第二列是版本字符串,第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们。安装命令为sudo apt-get install docker-ce=<VERSION>

docker版本系列

3.8:查看docker版本号

docker -v

3.8:查看docker服务是否启动

systemctl status docker

3.9:若未启动,则启动docker服务

sudo systemctl start docker

3.10:验证是否启动成功,通过hello-world镜像,启动容器。有如下输出则docker安装启动成功。

sudo docker run hello-world

在这里插入图片描述

四:Docker 的四个基本概念

仓库注册中心(Registry)

集中存放仓库(镜像文件)的场所。它可分为私有和公有两种形式。

例如最大的官方注册中心:https://hub.docker.com/

国内也有许多例如:http://hub.daocloud.io/

仓库(Repository)

对镜像进行分类管理。例如Mysql仓库,存放Mysql不同版本(tag)相关的镜像;Tomcat仓库,存放Tomcat不同版本(tag)相关的镜像;

镜像(Image)

容器(Container)

镜像的运行实例。它可以被启动,开始,停止和删除。每个容器都是相互隔离,保证安全的平台。镜像和容器的关系好比java中class类和对象的关系。

五:Docker 镜像

5.1:列出镜像列表:docker images 或者 docker image ls

5.2:在网络中搜索镜像:docker search 镜像名称

5.3:拉取镜像:官方提供了公共的镜像仓库:https://hub.docker.com/,我们可以使用命令docker pull从这获取镜像,格式为:

docker pull [选项] [Docker Registry 地址[:端口]/]仓库名[:标签]

Docker镜像仓库地址:地址格式一般是<域名/IP>[:端口],默认是Docker Hub。

仓库名:两段式名称<用户名>/<软件名>,若地址是Docker Hub,不显示写出用户名,默认为library,即官方镜像。

在这里插入图片描述

默认从公共的官方镜像仓库拉取,由于在国外所以速度比较慢。可以配置国内的仓库注册中心,例如ustc

在宿主机使用命令vi /etc/docker/daemon.json命令打开文件,如果没有该文件则先创建。然后在配置文件中加入以下内容:

{

“registry-mirrors”:[“https://docker.mirrors.ustc.edu.cn”]

}

然后重启docker服务,命令为systemctl restart docker

5.4:删除镜像:docker image rm 镜像名称[:tag] 或者 docker image rm 镜像ID (image rm可以缩写为rmi)

删除所有镜像docker rmi $(docker images -q)

5.5:导出镜像:docker save 镜像名称[:tag]/镜像ID > /root/xx.tar.gz

5.6:导入镜像:docker load < /root/xx.tar.gz

5.7:查看镜像历史提交记录:docker history 镜像名[:标签]/镜像ID

六:Docker 容器

6.1:创建并运行容器

交互方式运行容器:

docker run -it --name 容器名称 repository:tag/imageID /bin/bash

守护进程方式运行容器:

docker run -di --name 容器名称 repository:tag/imageID #推荐

创建容器命令docker run常用的参数说明:

  • -i:运行容器

  • -t:容器启动后进入其命令行。加-it两个参数后,容器创建后登录进去。即分配一个伪终端。

  • --name:为创建的容器命名。

  • -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

  • -d:在 run 后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。

  • -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

通过run命令创建并进入容器后,再通过exit命令退出容器后,容器则停止。如果需要再次进入该容器,则先通过start命令启动容器,再使用exec/attach命令进入容器。

6.2:启动停止容器

docker start 容器名称/容器ID

docker stop 容器名称/容器ID

6.3:进入正在运行的容器

docker exec -it 容器名称/容器ID /bin/bash #推荐,因为退出容器后容器不会停止

docker attach 容器名称/容器ID #此命令进入容器后,退出则容器也停止,而exec命令不会

6.4:查看容器列表

docker ps #查看正在运行的容器

docker ps -a #查看历史运行过的容器

docker ps -l #查看最近运行过的容器

6.5:删除容器

docker rm 容器名称/容器ID

docker rm ‘docker ps -a -q’ #删除所有容器

6.6:复制文件,该命令是双向的,可以从宿主机到容器,从容器到宿主机

docker cp 源文件 目标文件

例如,docker cp /root/myApp.war myCentos:/usr/local/

/root/myApp.war是宿主机的路径,myCentos是容器名称,/usr/local/是容器内的路径。

6.7:查看容器运行的各种数据

docker inspect 容器名称/容器ID

七:运行容器测试用例

7.1:Mysql 部署

拉取Mysql镜像

docker pull mysql

创建并运行Mysql容器:-p代表端口映射,将容器运行端口3306映射到宿主机的端口33060。-e代表添加环境变量,MYSQL_ROOT_PASSWORD是root用户的登录密码。

docker run -di --name mysql -p 33060:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

进入容器

docker exec -it mysql /bin/bash

在容器里登录mysql

mysql -u root -p

在宿主机登录mysql

mysql -u root -h 容器IP -P 3306 -p

远程登录mysql

mysql -u root -h 宿主机IP -P 33060 -p

7.2:Tomcat 部署

拉取tomcat镜像

docker pull tomcat

创建并运行tomcat容器:-p代表端口映射,将容器运行端口8080映射到宿主机的端口9090。

docker run -di --name mytomcat -p 9090:8080 tomcat

在浏览器访问http://172.20.200.101:9090/。此处的ip和端口号都是宿主机的。

7.3:在tomcat容器内部署web应用

创建并运行tomcat容器,并通过-v 宿主机目录:容器内目录参数将宿主机目录和容器内目录进行映射,这样我们只要在宿主机的目录下操作,都会映射到容器相应的目录,例如将一个war包放入宿主机的映射目录下,容器相应映射目录也会更新。--privileged 参数代表赋予此容器扩展的特权,这样目录映射才会生效。

docker run -di --name mytomcat -v /root/webapps:/usr/local/tomcat/webapps -p 9090:8080 --privileged=true tomcat

我们只要把war包放入宿主机的/root/webapps目录下,不用重启tomcat容器,即可实现热部署,进行应用更新。

7.4:nginx 部署

docker run -di --name=mynginx -p 8090:80 nginx

创建并运行nginx容器之后,我们在浏览器访问http://宿主机IP:8090/是访问不到nginx首页的,即没有相应。因为容器内nginx服务没有启动,需要进入容器后启动该nginx服务。当然也可以在容器内设置开机自动启动nginx服务。

docker exec -it mynginx /bin/bash #进入容器

/usr/sbin/nginx #启动nginx服务

此时,我们再在浏览器访问http://宿主机IP:8090/就有相应了。

7.5:Redis 部署

docker run -di --name myredis -p 16379:6379 reids

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友

三面蚂蚁金服成功拿到offer后,他说他累了

三面蚂蚁金服成功拿到offer后,他说他累了

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

/usr/sbin/nginx #启动nginx服务

此时,我们再在浏览器访问http://宿主机IP:8090/就有相应了。

7.5:Redis 部署

docker run -di --name myredis -p 16379:6379 reids

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友

[外链图片转存中…(img-Jqd75d5h-1715101825664)]

[外链图片转存中…(img-4WzTkUZ6-1715101825664)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值