【云原生】1.5 Docker 进阶实战
创建一个redis (mkdir redis),然后打开 redis(cd redis),准备好配置文件(vi redis.conf),输入 :wq 退出并保存。redis使用自定义配置文件启动(记得要添加安全组)
哈喽~大家好呀,到现在目前为止我们已经学习了4篇文章了,这篇呢我们就开始实战了。
🥇个人主页:个人主页
🥈 系列专栏:【云原生系列】
🥉与这篇相关的文章:
1.2 Docker基本概念(含 Docker 安装) 【云原生】1.2 Docker基本概念(含 Docker 安装)_一个名叫追的程序猿的博客-CSDN博客 1.3 Docker 常用命令实战(上) 【云原生】1.3 Docker 常用命令实战(上)_一个名叫追的程序猿的博客-CSDN博客 1.4 Docker 常用命令实战(下) 【云原生】1.4 Docker 常用命令实战(下)_程序猿追的博客-CSDN博客
目录
一、创建Java应用
我们在 Spring 的官网下载配置(如下图所示,记得添加 web 与 sql),然后我们用 IDEA 来打开
二、 部署redis
我们这里要安装 redis,输入指令 docker pull redis,我们打开到 data (cd data)中,然后创建一个 redis (mkdir redis),然后打开 redis(cd redis),准备好配置文件(vi redis.conf),输入 :wq 退出并保存。
redis使用自定义配置文件启动(这里有个细节,记得要添加安全组)
docker run -v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-d --name myredis \
-p 6379:6379 \
redis:latest redis-server /etc/redis/redis.conf
这时我们要使用一个工具——RedisDesktopManager,输入name、host、port、测试一下,ok,没问题。
三、redis设置密码访问
和我们上面一样,先配置文件(vi redis.conf),然后使用命令 requirepass abc123abc
格式:requirepass + 密码,输入 :wq 退出并保存
🎉 然后我们重启一下,输入重启指令
docker restart myredis
我们再来打开工具 RedisDesktopManager 重新测试一下,发现连不上了,没错这时我们需要密码了。重新 Connect to Redis Server,再次测试一下。
四、统计访问人数场景
🎄我们这里打开 IDEA,在 application.properties 配置 host 与 password,附上代码
spring.redis.host=139.198.175.74
spring.redis.password=abc123abc
🎄创建 CounterController.java 文件,写入代码
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class CounterController {
@Autowired
StringRedisTemplate redisTemplate;
@GetMapping("/hello")
public String count(){
Long increment = redisTemplate.opsForValue().increment("count-people");
return "有 【"+ increment +"】 人访问了这个页面";
}
}
完成之后,在浏览器的地址栏输入 localhost:8080/hello,(hello 是 @GetMapping("/hello") 里面设置的地址),我们看看效果。
五、Dockerfile 构建任意应用镜像
我们之前运行 java,是怎样的呢?以 java 为例,
- SpringBoot 打包成可执行 jar
- 把jar包上传给服务
- 服务器运行 java -jar
也就是说我们在要安装环境在运行,如何我们在另一台主机运行,我们还要安装环境,非常麻烦。
所以我们有没有这样的一个东西,能让我们其他主机不用安装环境也能运行。
我们用 IDEA 在我们之前的项目里面新建个文件叫 Dockerfile,写入代码:
FROM openjdk:8-jdk-slim
LABEL maintainer=leifengyang
COPY target/*.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
🎉新建个文件夹,然后把 Dockerfile 与 jar 包上传。
🎉然后我们开始构建镜像
docker build -t java-demo:v1.0 .
🎉构建之后我们再启动镜像
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
然后我们再地址栏输入 “主机号 : 8080/hello” ,我们所有人就都能访问了(记得设置一下安全锁)
六、应用分享与启动
如何分享镜像?
💎登录docker hub
docker login
💎给旧镜像起名
docker tag java-demo:v1.0 leifengyang/java-demo:v1.0
💎推送到 docker hub
docker push leifengyang/java-demo:v1.0
💎别的机器
docker pull leifengyang/java-demo:v1.0
💎别的机器运行
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
💎启动应用容器
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
好了,截止到这里我们的 Docker 基础部分已经全部讲完了,下一篇预告 2.1 Kubernetes-基础概念。
(求关注)持续更新中……
更多推荐
所有评论(0)