去docker hub找到各种组件的镜像
docker pull nginx # 下载最新版
docker pull nginx:1.20.1
docker pull redis
docker pull redis:6.2.4
# 下载来的镜像都在本地
docker image # 查看所有镜像
docker rmi 镜像名:版本号/镜像id
# -d 后台运行
# --restart=always 开机自启
dorker run --name=mynginx -d --restart--alays -p 88:80 nginx
#查看正在运行的容器
docker ps
# 查看所有
docker ps -a
# 删除停止的容器
docker rm 容器id/名字
docker rm -f myngin #强制删除正运行中的
# 停止容器
docker stop 容器id/名字
#再次启动
docker start 容器id/名字
# 应用开机自启
docker update 容器id/名字 --restart=alays
# 进入容器内部的系统,修改容器内容
docker exec it 容器id /bin/bash
# 挂载 -v
# ro 表示容器里面不能改,rw表示容器里面可以更改
dorker run --name=mynginx -d --restart--alays -p 88:80 -v /data/html:/usr/share/nginx/html:ro nginx
docker comit -a "jordan" -m "篮球之神" 容器id guigninx:v1.0
# 将镜像保存成压缩包
docker save -o abc.tar guigninx:v1.0
#别的机器加载这个镜像
docker load -i abc.tar
# 推送镜像到docker hub
docker tag local-image:tagname new-repo:tagname
docker push new-rep:tagname
#把旧镜像名字改成仓库要求的新版名字
docker tag guignginx:v1.0 leifengyang/guinginx:v1.0
docker login #登录dockerhub
docker logout #推送完成后退出
docker push
docker logs 容器名/id # 排错
# 挂载容器配置文件到主机 提前准备好一个配置文件
docker run -d -p 80:80 -v /data/html:/usr/share/nginx/html:ro -v /data/conf/nginx.conf:/etc/nginx/nginx.conf --name mynginx nginx
# 提前将容器的配置文件复制到主机
docker cp 容器id:/etc/nginx/nginx.conf /data/conf/nginx.conf
======================================================
一、编写SpringBoot的应用
开启一个redis容器
# 在主机中创建一个redis挂载目录 /data/redis
mkdir redis
vim redis.conf # 内部:appendonly yes requirepass abc123abc
docker run -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d --name myredis -p 6379:6379 redis redis-server /etc/redis/redis.conf
项目中的配置文件application.properties
spring.redis.host=139.198.175.74
spring.redis.password=abc123abc
Controller
@RestController
public class CounterController{
@Auwowired
StringRedisTemplate redisTemplate;
@GetMapping("/hello")
public String count(){
Long increment = redisTemplate.opsForValue().increment("count-people");
return "有【"+increment+"】人访问了这个页面";
}
}
二、将应用打包成镜像
传统的步骤,采用maven的package打成jar包
在服务器上传后,java -jar xxx.jar
Docker打包:
①、项目中创建一个Dockerfile文件
FROM openjdk:8-jdk-slim
LABEL maintainer=jordan
COPY target/*.jar /app.jar
ENTRYPOINT["java","-jar","/app.jar"]
②、将jar包和Dockerfile文件上传到linux服务器中
③、通过命令打成镜像
docker build -t java-demo:v1.0.
三、启动容器
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
四、进行推送镜像
docker login
docker tag java-demo:v1.0 jordan/java-demo:v1.0 # 旧名称改成新名称
docker push jordan/java-demo:v1.0
五、其他服务器可以拉去镜像
docker pull jordan/java-demo:v1.0