你如何处理这个图像?
https://hub.docker.com/r/alpine/git
我试过:
docker pull alpine/git
docker run -it --rm alpine/git /bin/sh
Run Code Online (Sandbox Code Playgroud)
但得到
git: '/bin/sh' is not a git command. See 'git --help'.
Run Code Online (Sandbox Code Playgroud) 我正在尝试开发一个开源 TSDB TDengine,并在 alpine 中编译它以使其 Docker 化。编译后,只需运行taosd二进制文件,就会导致段错误(coredumped),但我找不到核心文件。
我已经搜索并使用 sysctl 来设置核心模式,并且 ulimic -c 是无限的。但它未能应用 sysctl,如下所示。
# ulimic -c
unlimited
# sysctl -w kernel.core_pattern=core-%e.%p.%h.%t
sysctl: error setting key 'kernel.core_pattern': Read-only file system
Run Code Online (Sandbox Code Playgroud)
如何在alpine中生成core文件?
我目前正在编写一个必须基于 alpine 的 docker 文件(最上面一行是FROM alpine:latest。我希望使用sudo和curl(通过从 dockerfile 运行 shell 脚本)等工具,这些工具通常在 linux/mac 上可用,并且执行以下操作:我已经尝试过运行RUN apt update && apt-get install sudo -y- 但是这些似乎不适用于 alpine。有人知道如何apt在基于 alpine 后获得,或者获得 sudo 和 curl 等基本工具的另一种方法吗?我尝试过使用 apk (例如RUN apk add apt-get)但我总是收到类似的错误apt-get (no such package):。
我需要在 Vue 应用程序的 Dockerfile 中包含 python2,以便构建依赖项 node-sass@4.14.1 (在 package.json 中定义)。以下工作正常:
FROM node:16.15.0-alpine as builder
RUN apk add --no-cache python2 make g++
...
ADD app/package.json .
RUN CXXFLAGS="--std=c++14" npm install
Run Code Online (Sandbox Code Playgroud)
但这个节点镜像使用的是 alpine 3.15,它在 zlib 中有一个我想删除的严重漏洞,所以我想使用更新的 alpine 版本。但是使用例如node:16.15.1-alpine(使用alpine-3.16)然后apk添加失败,因为python2不再包含在该图像中。
我尝试设置 PYTHON 环境变量并使用 python3 代替,但是 node-gyp@3.8.0 (由 node-sass@4.14.1 使用)的构建失败并出现 SyntaxError: Missing Parentheses in call to 'print',所以对于这个版本,似乎需要 python2 来构建。
在 package.json 中,我的 devDependency 是:
"devDependencies": {
...
"node-sass": "^4.14.1",
"sass-loader": "^7.0.1"
Run Code Online (Sandbox Code Playgroud)
(是的,我意识到node-sass版本很旧(就像python2一样),并且node-sass已被弃用,但尝试使用此包的较新版本会导致其他问题,所以我首先想尝试只需使构建适用于现有版本,但使用较新的 alpine。)
使用node:16.15.1-alpine作为基础镜像时如何添加python2?
我是 Docker 新手。我想容器化一个小环境,以便可以运行可执行文件,但我陷入困境,因为我什至无法运行可执行文件。
我的文件夹结构如下所示:
example/
|-Dockerfile
|-hello_world
Run Code Online (Sandbox Code Playgroud)
我的Dockerfile看起来像这样:
# Use Alpine Linux as the base image
FROM alpine:latest
# Set the working directory inside the container
WORKDIR /app
# Copy the executable to the container
COPY hello_world /app/
# Set the permissions for the executable
RUN chmod +x /app/hello_world
# Define the command to run your server when the container starts
ENTRYPOINT ["/app/hello_world"]
Run Code Online (Sandbox Code Playgroud)
然后我运行:
> sudo docker build -t example .
> sudo docker run --name example_container example …
上周我一直在高山上运行php7,直到今天我重建了我的图像,现在没有任何效果.我得到错误:
/ # apk add php7
ERROR: unsatisfiable constraints:
php7 (missing):
required by: world[php7]
Run Code Online (Sandbox Code Playgroud)
对于每个包,我试图安装和以前工作的扩展.这是我用来设置php7的RUN命令:
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add --update \
php7-mcrypt \
php7-soap \
php7-openssl \
php7-gmp \
php7-pdo_odbc \
php7-json \
php7-dom \
php7-pdo \
php7-zip \
php7-mysqli \
php7-sqlite3 \
php7-pdo_pgsql \
php7-bcmath \
php7-gd \
php7-odbc \
php7-pdo_mysql \
php7-pdo_sqlite \
php7-gettext \
php7-xmlreader \
php7-xmlrpc \
php7-bz2 \
php7-iconv \
php7-pdo_dblib \ …Run Code Online (Sandbox Code Playgroud) 这是我的docker-compose.yml
version: '2'
services:
nginx:
image: nginx:1.11.8-alpine
ports:
- "8081:80"
volumes:
- ./code:/usr/share/nginx/html
- ./html:/myapp
- ./site.conf:/etc/nginx/conf.d/site.conf
- ./error.log:/var/log/nginx/error.log
- ./nginx.conf:/etc/nginx/nginx.conf
Run Code Online (Sandbox Code Playgroud)
这是site.conf
server {
listen 8081;
index index.html index.php;
server_name localhost;
error_log /var/log/nginx/error.log;
location /html {
root /myapp;
}
}
Run Code Online (Sandbox Code Playgroud)
http://nginx-php-docker.local:8081 /这是工作,显示文件index.html里面/代码文件夹
但它无法使用http://nginx-php-docker.local:8081/html
错误日志是:2017/01/13 08:50:27 [错误] 7#7:*4打开()"/ usr/share/nginx/html/html"失败(2:没有这样的文件或目录),客户端:172.19.0.1,server:localhost,request:"GET/html HTTP/1.1",host:"nginx-php-docker.local:8081"
请告诉我哪里错了.
我一直在尝试使用这个Dockerfile构建一个Docker镜像:
FROM mhart/alpine-node:base-6
MAINTAINER techhadmin
COPY ./package.json src/
RUN cd src && npm install
COPY . /src
WORKDIR /src
EXPOSE 3000
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
/ bin/sh:npm:not found
命令'/ bin/sh -c cd src && npm install'返回非零代码:127
知道如何解决这个问题吗?
嗨,我正在尝试构建一个docker,Docker文件看起来像这样。
FROM alpine
LABEL description "Nginx + uWSGI + Flask based on Alpine Linux and managed by Supervisord"
# Copy python requirements file
COPY requirements.txt /tmp/requirements.txt
RUN apk add --no-cache \
python3 \
bash \
nginx \
uwsgi \
uwsgi-python3 \
supervisor && \
python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \
pip3 install --upgrade pip setuptools && \
pip3 install -r /tmp/requirements.txt && \
rm /etc/nginx/conf.d/default.conf && \
rm -r /root/.cache
# Copy the Nginx global conf …Run Code Online (Sandbox Code Playgroud) 我尝试将vips-dev软件包安装到alpine linux 3.8。但是出现以下错误:
docker run -it --rm alpine:3.8 /bin/sh -c "apk add --update --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing vips-dev"
fetch http://dl-3.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
pc:fftw3 (missing):
required by: vips-dev-8.7.4-r1[pc:fftw3] vips-dev-8.7.4-r1[pc:fftw3] vips-dev-8.7.4-r1[pc:fftw3]
Run Code Online (Sandbox Code Playgroud)
怎么解决呢?
alpine-linux ×10
docker ×7
apk ×2
dockerfile ×2
node.js ×2
apt ×1
devops ×1
git ×1
linux ×1
nginx ×1
php-7 ×1
python-2.7 ×1
rust ×1
unix ×1
vips ×1