大连建设网站制作,最近三天的新闻热点,福州网站设计招聘,佛山旺道seo优化进入容器内部有2种方法。
1 docker run -it centos bash 退出后容器会挂了。
2 docker run -d --name my_nginx --restartalways -p 8989:80 nginx docker exec -it my_nginx bash
--restartalways表示ngix挂了后会自动重启, -P 随机映射一个端口
dockerfile可以根…进入容器内部有2种方法。
1 docker run -it centos bash 退出后容器会挂了。
2 docker run -d --name my_nginx --restartalways -p 8989:80 nginx docker exec -it my_nginx bash
--restartalways表示ngix挂了后会自动重启, -P 随机映射一个端口
dockerfile可以根据基础镜像创建自己的镜像。
FROM 指定基础镜像
FROM 镜像名:tag号, eg:FROM centos
MAINTAINER 指定维护者信息 egMAINTAINER zwj
RUN 镜像在构建时想执行的各种linux命令
ADD/COPY 都是将宿主机文件拷贝到容器内部 COPY仅仅是拷贝 ADD指令拷贝后还支持自动解压缩 tar 文件和远程 URL
egCOPY aa.py /opt ADD https://example.com/archive.tar.gz /tmp/
WORKDIR 设置当前工作目录 就是更改进入容器的根目录
VOLUME 将容器内部的数据映射到宿主机。 相当于 docker run -v egVOLUME /data 时将容器内部的/data文件夹在容器运行时自动挂载到匿名卷。
EXPOSE 容器内暴露一个对外的端口
ENTRYPOINT/CMD 指定容器启动后将要进行的一些操作
CMD [参数1,参数2] 命令只能有一个
eg CMD [/bin/bash] CMD [cat,/etc/os-release] CMD [curl -s, http:baidu.com]
区别CMD 命令在执行docker run 命令时传入的指令会覆盖掉dockerfile里面定义的命令
ENTRYPOINT命令 在执行dokcer run命令时传入的参数会当作dockerfile里面ENTRYPOINT命令的参数。
ARG/ENV 都是设置docker环境变量的
ENV 设置的环境变量不管是镜像构建时还是容器运行时该变量都可以用
ARG 设置的环境变量只能在镜像构建时有效 容器运行时丢失了。
egENV name“aa” 后面的上下文中通过$name来访问该变量
USER 用于切换用户 eg USER root
要使用Docker部署Spring Boot项目你可以创建一个Dockerfile来定义Docker镜像的构建过程。以下是一个示例的Dockerfile # 使用基于Java的镜像作为基础镜像
FROM openjdk:11-jdk# 设置工作目录
WORKDIR /app# 复制Spring Boot应用的Jar包到容器中
COPY target/my-spring-boot-app.jar app.jar# 暴露Spring Boot应用的默认端口如果有自定义端口请修改为实际使用的端口
EXPOSE 8080# 启动Spring Boot应用
CMD [java, -jar, app.jar]在上面的Dockerfile中我们选择了基于Java的OpenJDK 11镜像作为基础镜像。然后设置工作目录为/app在容器中创建一个目录用于存放应用程序文件。
接下来我们将Spring Boot应用的可执行Jar包复制到容器中的/app目录下命名为app.jar。确保将target/my-spring-boot-app.jar替换为你实际的Jar包路径。
然后通过EXPOSE命令暴露Spring Boot应用的默认端口通常为8080。如果你的应用使用了自定义端口请修改为实际使用的端口。
最后使用CMD命令指定在容器启动时运行的命令。这里使用java -jar app.jar来启动Spring Boot应用。
保存以上内容为Dockerfile文件并将其与Spring Boot项目的根目录放在同一级别的位置。
接下来进入命令行在项目根目录执行以下命令来构建Docker镜像 docker build -t my-spring-boot-app . 或者
# 基础镜像
FROM openjdk:8-jdk-alpine# 设置工作目录
WORKDIR /app# 复制 Maven 项目文件
COPY pom.xml .# 下载 Maven 依赖包
RUN [mvn, dependency:resolve]# 复制整个 Maven 项目除了 target 目录
COPY src ./src# 构建 Maven 项目
RUN [mvn, package]# 运行命令
CMD [java, -jar, /app/target/your-application-name.jar]