栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Docker

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker

Docker 一、Dockerfile 构建自己镜像文件

Dockerfile是什么?描述出镜像文件需要的一些[依赖配置]和[环境变量]执行命令

DockerFile指令:

  • FROM 指定父镜像: 基于哪个镜像image构建 指定基础镜像,必须为第一个命令
  • MAINTAINER :维护者
  • RUN: 容器创建的时候执行一段命令 构建镜像时执行的命令
  • ADD: 将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
  • COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源
  • CMD:构建容器后调用,也就是在容器启动时才进行调用。 .sh执行文件
  • ENV: 设置环境变量
  • EXPOSE: 指定于外界交互的端口
  • VOLUME 用于指定持久化目录
  • WORKDIR 设置进入容器时的路径 默认访问的目录

https://github.com/docker-library/tomcat/blob/385e8403a38fab7097d4c3fed2484caba7dfd099/8.5/jdk8/openjdk-slim-buster/Dockerfile

规范:
A.#描述注释
B.指令必须要大写,后面至少需要带至少一个参数;
C.指令是按照从上到下,顺序执行;

1.1 案例一: 定制CentOS镜像名称 1.1.1 编写Dockerfile文件
1.编写Dockerfile文件:
#继承Docker Hub中的centos镜像文件
FROM  centos
#制作镜像文件作者
MAINTAINER mayikt-yushengjun
#配置环境变了 MYPATH 环境变了名称
ENV  MYPATH /usr
#进入到容器中默认访问目录 /usr
WORKDIR $MYPATH
#安装 下载vim
RUN yum -y install vim
#外部访问端口号
EXPOSE 80
#容器启动成功后,自动进入到容器中
CMD /bin/bash
1.1.2 dockerfile文件变成镜像文件
docker build---将该Dockerfile实现打包成镜像文件
比如:
"docker build -f Dockerfile -t mycs:1 ."
说明:
Dockerfile ------配置文件
mycs----打包镜像文件名称
1--- tag 版本号码
1.1.3 运行镜像文件
比如:docker run -it mycs:1
1.2 案例二:将SpringBoot项目打包部署(使用原生方式) 1.2.1 打jarbao

自己的项目打包生成jar文件

1.2.2 编写Dockerfile文件

Dockerfile文件

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER tom
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为mayikt.jar
ADD mayikt-mysql-demo-0.0.1-SNAPSHOT.jar mayikt.jar
# 运行jar包
RUN bash -c 'touch /mayikt.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/mayikt.jar"]
#暴露9999端口 
1.2.3 上传jar、dockerfile文件到服务上

jar /dockerfile 放到一个文件夹下

1.2.4 构建镜像文件

比如: “docker build -f Dockerfile -t mysqldemo:1 .”

1.2.5 运行容器

比如:“docker run -it -p 8080:9999 mysqldemo:1”

1.2.6 访问

http:// 120.48.28.131:8080/getTeams-他

响应结果:
[{“id”:1,“teamName”:“架构组”},{“id”:2,“teamName”:“测试组”},{“id”:3,“teamName”:“java组”},{“id”:4,“teamName”:“前端n组”}]

docker 安装redis:

docker run -p 6379:6379 --name redis -v /data/redis/conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

二、Docker Compose 容器编排技术 补充: 常用Docker命令
  1. 查看docker 启动日志
docker logs -f 容器id
  1. docker 查看redis版本:
#docker exec -it container-name-or-id redis-server -v
[root@VM-0-6-centos ~]# docker exec -it redis redis-server -v
Redis server v=6.2.6 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=1527eab61b27d3bf
[root@VM-0-6-centos ~]# 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号