欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

docker-compose-实践

时间:2023-05-17
安装Docker-compose

官方安装文档 https://docs.docker.com/compose/install/#install-compose

安装参考文档 https://www.cnblogs.com/sirdong/p/12143468.html

curl 安装命令(如果安装失败则使用wget安装命令) [ 要安装其他版本的Compose,请替换1.25.0 为要使用的Compose版本。 ]

curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

wget https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose

分配权限

chmod +x /usr/local/bin/docker-compose

查看版本信息

docker-compose version

Docker-Compose和DockerFile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ru71UzUz-1645157803782)(img/1.png)]

DockerFile 参数详解

https://blog.csdn.net/allensakaru/article/details/90753279

命令解释FROM:基础镜像,当前新镜像是基于哪个镜像的MAINTAINER:镜像维护者的姓名和邮箱地址RUN:容器构建时需要运行的命令EXPOSE:当前容器对外暴露出的端口WORKDIR:创建容器后终端默认登录进来的工作目录,一个落脚点ENV:用来在构建镜像过程中设置环境变量ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包COPY:类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中 <源路径> 的文件/目录复制到新的一层的镜像内的 <目标路径> 位置VOLUME:容器数据卷,用于数据保存和持久化工作CMD:指定一个容器启动时要运行的命令。Dockerfile 中可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后的参数替换ENTRYPOINT:指定一个容器启动时要运行的命令。ENTRYPOINT 的目的和 CMD 一样,都是在指定容器启动程序及参数onBUILD:当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发

Docker Build 构建镜像 编辑Dockerfile文件

FROM openjdk:8-jdk-alpineRUN mkdir -p /usrWORKDIR /usr/local/webADD eureka-server.jar app.jarEXPOSE 8761CMD ["java","-jar","app.jar"]

RUN mkdir -p /usr :创建/usr目录WORKDIR /usr/local/web :创建容器后终端默认登录进来的工作目录,一个落脚点EXPOSE 8099 :指定对应的端口server.port 构建镜像

#看到什么没有,对没错最后那个点(.)很调皮,后面这个点表示在当前目录docker build -t es-web:1.0.0 .#或者docker build -f /data/project/es/Dockerfile -t es-web:1.0.0 .

示例

docker run -d -p 8761:8761 --name group_es_web_1 es-web:1.0.0

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。