C++项目实战之dockerfile编写指南(1)

C++项目实战之dockerfile编写指南(1),第1张

C++项目实战之dockerfile编写指南(1)

文章目录

1 Dockerfile结构2 常用指令说明3 创建镜像4 查看镜像5 实例化一个容器6 查看容器内的进程7 进入容器内部

1 Dockerfile结构
    基础镜像信息维护者信息镜像 *** 作指令容器启动时执行指令

2 常用指令说明

ENV 设置环境内环境变量,例如:声明容器中java程序的java环境变量
ADD 拷贝文件或目录到镜像中,ADD指令比COPY指令常用
ENTRYPOINT 用于为容器指定默认运行程序(脚本)
CMD
RUN

注:CMD与RUN的差异
两者的运行时间点不同RUN指令运行在docker build的过程中,而CMD指令运行在基于新镜像启动容器(docker run)时。

#启动多个服务时,可以用CMD 执行一个脚本,在脚本中启动多个服务
CMD source /opt/hrms/run/entrypoint.sh

3 创建镜像

docker build -f ./Dockerfile -t hcy_test_webdemo:1.0 .

-f参数表示dockerfile的路径
-t参数设置镜像名称和tag
后面的.号表示上下文环境

4 查看镜像

docker images

5 实例化一个容器

docker run -d -p 8094:8080 --net=bridge hcy_test_webdemo:1.0

6 查看容器内的进程

docker top id

7 进入容器内部

docker exec -it id /bin/bash

# 设置基础构建镜像
FROM 10.66.41.10/aias/xxx-x86-cuda100:1.1.3
# 设置创建者的基本信息
MAINTAINER xxxxxx@xxxx.com
# 项目ADD到容器中
ADD webdemo.tar.gz /workspace
# CD到工作目录
WORKDIR /workspace/webdemo/controller
# 暴露端口 容器打算使用8080端口
EXPOSE 8080
# 进行编译
RUN g++ -o web webserver.cpp ../service/method.cpp -l restbed -l jsoncpp
# 运行
CMD ["./web"]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5702740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存