个人知识库 个人知识库
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub

Agnes001

坚持是一件很伟大的事业
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub
  • Nginx

  • Qt

  • centos

  • MySQL

  • Redis

  • Docker

    • docker安装
    • docker常用命令
    • Dockerfile
    • docker-compose
  • Kubernets

  • SRS

  • 应用框架
  • Docker
Agnes001
2022-06-23

Dockerfile

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

常用指令

FROM - 镜像从那里来
MAINTAINER - 镜像维护者信息
RUN - 构建镜像执行的命令,每一次RUN都会构建一层,  是在 docker build时运行。
CMD - 容器启动的命令,如果有多个则以最后一个为准,也可以为ENTRYPOINT提供参数。在docker run时运行。
ENTRYPOINT - 容器进入时执行的命令,不会被 docker run 的命令行参数指定的指令所覆盖
WORKDIR - 切换当前执行的工作目录
EXPOSE - 暴露端口
ADD - 添加文件,如果是压缩文件也解压  
COPY - 添加文件,以复制的形式

::: tips 注意: Dockerfile 的指令每执行一次都会在docker上新建一层。所以过多无意义的层,会造成镜像膨胀过大。 以 && 符号连接命令,这样执行后,只会创建 1 层镜像。 :::

Dockerfile示例

################################
## 生成镜像 docker build -t resolve .
## 生成容器 docker run -it -v /root/wjl/resolve/code/:/data/drogon/--name=resolve resolve:latest bash
################################

FROM drogonframework/drogon

## 指定docker的工作目录
WORKDIR /data/drogon

## 复制文件到docker容器
## mysql mysqlconnect
ADD tool/include.tar /usr/local/
ADD tool/lib.tar /usr/local/

## curl log4cplus
ADD tool/curl-7.75.0.tar ./
ADD tool/log4cplus-1.2.1.tar ./
RUN cd curl-7.75.0 \
 && ./configure \
 && make && make install
RUN cd log4cplus-1.2.1 \
 && ./configure --enable-static CXXFLAGS="-std=c++0x" \
 && make && make install

## 拷贝代码
COPY code ./

EXPOSE 8082

CMD ["/bin/bash", "-c", "TSLC_BACKEND_RESOLVE/build/start.sh"]
编辑此页
docker常用命令
docker-compose

← docker常用命令 docker-compose →

Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式