docker - 如何向 docker 容器添加依赖项?
问题描述
我想运行一个boost asio
在 docker 容器中使用的 C++ 程序。但是我的容器似乎对提升一无所知。
我的码头文件:
FROM frolvlad/alpine-gcc
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN apk add --no-cache g++ && /usr/bin/g++ -o server main.cpp connection_manager.cpp connection.cpp
mime_types.cpp reply.cpp request_handler.cpp request_parser.cpp server.cpp -lboost_system -
lboost_thread -lpthread -std=c++11 -I/usr/include/boost
CMD ["./server"]
我写命令$docker build
并得到:
为什么这样?
解决方案
你的frolvlad/alpine-gcc
基本形象是什么?我假设它只是 gcc 加载到高山......
您可以通过以下方式实现相同的效果:
FROM alpine:3.10 AS build
# Load build packages
RUN apk --update add --no-cache \
build-base \
boost boost-dev
其次是你的RUN
命令等。
这里有一个工作示例两阶段 Dockerfile 来使用 boost asio 构建 HTTP 服务器:https ://github.com/kenba/via-httplib/blob/master/Dockerfile
推荐阅读
- newman - Postman集合中如何实现“保持变量值”通过newman命令运行
- python - 使用正则表达式在异常字符串中查找关键字并根据该关键字发送电子邮件
- ios - 为什么我的故事板中的图标不再显示?
- c# - 无法删除注册表项
- spring - 每当收到获取bean实例的请求时,spring容器是否会生成任何事件?
- javascript - 仅映射数组中的前 n 个项目
- docker - 如何在服务器代码中使用 Docker 端口
- sql - 如何使用放置在文本框中的 id_visitors 为所有访问者创建一个子表单
- travis-ci - 当这些文件存在时,为什么我的 Travis CI 构建失败并出现“找不到文件”错误?
- python-3.x - 如何将带有前导零的数据从 Pandas 导出到 CSV,在 csv 中保留前导零