我正在尝试为启用 FIPS 的 Go 版本构建 Alpine Docker 映像。为此,我尝试使用存储库dev.boringcrypto的分支从源代码构建 Go golang/go。
运行后./all.bash,我收到以下错误:
Step 4/4 : RUN cd go/src && ./all.bash
---> Running in 00db552598f7
Building Go cmd/dist using /usr/lib/go.
# _/go/src/cmd/dist
loadinternal: cannot find runtime/cgo
/usr/lib/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/../../../../x86_64-
alpine-linux-musl/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/../../../../x86_64-
alpine-linux-musl/bin/ld: cannot find crti.o: No such file or directory
/usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lssp_nonshared
collect2: error: ld returned 1 exit status
The command '/bin/bash …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Jupyter 笔记本中安装 CRAN 软件包(从镜像),通过 JupyterLab 启动并在 Alpine Linux docker 映像中运行,大多数内容都是使用 conda 安装的。有些软件包可以工作...
install.packages('ABCanalysis', verbose=TRUE, INSTALL_opts=c('--debug'), repos=...)
Run Code Online (Sandbox Code Playgroud)
...输出...
system (cmd0): /opt/conda/lib/R/bin/R CMD INSTALL --debug
also installing the dependency 'plotrix'
foundpkgs: plotrix, ABCanalysis, /tmp/RtmpqoorrU/downloaded_packages/plotrix_3.7-4.tar.gz, /tmp/RtmpqoorrU/downloaded_packages/ABCanalysis_1.2.1.tar.gz
files: /tmp/RtmpqoorrU/downloaded_packages/plotrix_3.7-4.tar.gz,
/tmp/RtmpqoorrU/downloaded_packages/ABCanalysis_1.2.1.tar.gz
1): succeeded '/opt/conda/lib/R/bin/R CMD INSTALL --debug -l '/opt/conda/lib/R/library' /tmp/RtmpqoorrU/downloaded_packages/plotrix_3.7-4.tar.gz'
2): succeeded '/opt/conda/lib/R/bin/R CMD INSTALL --debug -l '/opt/conda/lib/R/library' /tmp/RtmpqoorrU/downloaded_packages/ABCanalysis_1.2.1.tar.gz'
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
install.packages('bitops', verbose=TRUE, INSTALL_opts=c('--debug'), repos=...)
Run Code Online (Sandbox Code Playgroud)
...但有些包不...
install.packages('bitops', verbose=TRUE, INSTALL_opts=c('--debug'), repos=...)
system (cmd0): /opt/conda/lib/R/bin/R CMD INSTALL …Run Code Online (Sandbox Code Playgroud) 我正在尝试在容器Selenium上运行。alpine 3.6(FROM alpine:3.6)
我在容器外壳中尝试的内容:
apk update
apk add python3
pip3 install -U selenium
apk add chromium
apk add chromium-driver
Run Code Online (Sandbox Code Playgroud)
并运行以下 python(使用 python3):
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
driver = webdriver.Chrome(chrome_options=options, executable_path=r'usr/bin/chromedriver') # Thrown an exception
Run Code Online (Sandbox Code Playgroud)
并得到以下异常:
selenium.common.exceptions.WebDriverException:消息:未知错误:Chrome无法启动:崩溃(驱动程序信息:chromedriver = 2.27(6ee44a7247c639c0703f291d320bdf05c1531b57),platform = Linux 5.0.0-23-generic x86_64)
selenium=3.141.0
chromium=57.0.2987.133
chromeDriver=2.27
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我正在 openshift 上运行 dotnet core 2.2 Web api,我有一个返回 FileResult 的 api 方法。该文件是使用 epplus 生成的。但是,在容器化应用程序后,端点返回以下错误。我相信如果使用 system.drawing 库,就会出现此异常,但是我没有使用任何 system.drawing 功能。
System.TypeInitializationException:“Gdip”的类型初始值设定项引发异常。---> System.DllNotFoundException: 无法加载 DLL 'libgdiplus': 找不到指定的模块。
public async Task<FileResult> GetPSACostCaseAndFeedData([FromQuery] int caseId, [FromQuery] int proposalId, [FromQuery] int equipmentId)
{
try
{
var queryParams = new Dictionary<string, string> { { "caseId", caseId.ToString() }, { "proposalId", proposalId.ToString() }, { "equipmentId", equipmentId.ToString() } };
var restObj = _restFactory.createRestRequest(Method.GET, "ProposalService/PSACostData/GetPSACostCaseAndFeedData", queryParams);
Console.WriteLine("Base URL - " + restObj.Item2.BaseUrl);
var response = await restObj.Item2.ExecuteTaskAsync(restObj.Item1);
if (response.StatusCode == HttpStatusCode.OK) …Run Code Online (Sandbox Code Playgroud) 我们收到 ORA-12570:网络会话:从 .Net core 2.2 编写的 webapi 中出现意外的数据包读取错误。该 API 使用 kubernetes 托管在 GCP 中的 Alpine Docker OS 3.11 中。我们使用的是 Oracle.ManagedDataAccess.Core 版本 2.19.60。
我们得到的内部错误消息是
Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-12570: 网络会话: 意外的数据包读取错误 ---> OracleInternal.Network.NetworkException (0x80004005): ORA-12570: 网络会话: 意外的数据包读取错误 ---> System.Net.Sockets.SocketException (110):操作超时。
根据网站http://www.dba-oracle.com/t_ora_12570_tns_packet_reader_failure.htm,由于侦听器配置而发生 ORA-12570。真的吗?另请让我们知道 ODP.Net core 的跟踪在 Linux 中如何工作。
谢谢
我在我的 docker 配置 ( ) 中使用wait-for,这是一个 Linux POSIX (#!bin/sh) 脚本python:3.8.1-alpine3.11。
在我的 docker-compose.yml 中,我使用以下命令加载脚本:
app:
command: sh -c "wait-for postgres:5432 && python manage.py migrate
&& python manage.py runserver 0.0.0.0:8000"
Run Code Online (Sandbox Code Playgroud)
然而,这会导致/bin/sh: wait-for: not found. 该文件肯定在那里,因为当我进入容器时我可以看到它。
通过容器内的反复试验,我发现以下方法可行:
/usr/src/app $ sh wait-for
Run Code Online (Sandbox Code Playgroud)
简而言之,使用该-c标志似乎会导致该选项。我知道sh -c将程序sh称为解释器并按照此命令的解释执行脚本,但是在这种情况下发生了什么/为什么会-c导致脚本出现问题?
-c例如,该行中的其他命令如果没有;则无法运行。sh python不会运行,它需要sh -c python.
在我的文件中使用的正确方法是什么docker-compose.yml?我应该有两个命令条目(一个用于sh wait-for,另一个用于sh -c [other commands])?
我正在尝试按照使用多阶段构建来精简 Docker 文件的说明进行操作。特别是,我尝试将构建的可执行文件从构建器映像复制到alpine:latest以下 Dockerfile 中:
FROM debian:stable-slim AS builder
RUN apt-get update && \
apt-get install -y --no-install-recommends fp-compiler fp-units-fcl fp-units-net libc6-dev
COPY src /whatwg/wattsi/src
RUN /whatwg/wattsi/src/build.sh
FROM alpine:latest
COPY --from=builder /whatwg/wattsi/bin /whatwg/wattsi/bin
ENTRYPOINT ["/whatwg/wattsi/bin/wattsi"]
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用运行生成的 docker 映像时docker run,出现错误
standard_init_linux.go:211: exec user process caused "no such file or directory"
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?我该如何解决这个问题?
我正在尝试 dockerize 我的 python 应用程序。在构建 Dockerfile 和安装 ie 的依赖项时显示错误scikit-learn。numpy。
Dockerfile
FROM python:alpine3.8
RUN apk update
RUN apk --no-cache add linux-headers gcc g++
COPY . /app
WORKDIR /app
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5001
ENTRYPOINT [ "python" ]
CMD [ "main.py" ]
Run Code Online (Sandbox Code Playgroud)
要求.txt
scikit-learn==0.23.2
pandas==1.1.3
Flask==1.1.2
Run Code Online (Sandbox Code Playgroud)
错误:找不到满足 setuptools 要求的版本(来自版本:无)错误:找不到 setuptools 的匹配发行版
在之前的项目中,我使用 sed 实用程序将换行符替换为 NUL 字符,以与在 CI 服务器上添加发行说明的 API 兼容。
sed -zE 's/\r\n|\n/\\n/g' < CHANGELOG.md
Run Code Online (Sandbox Code Playgroud)
但是,在另一个项目中,我使用基于 alpine 的 docker 映像 ( mcr.microsoft.com/dotnet/core/sdk:3.1-alpine),并且在使用该实用程序时,alpine linux 上无法识别-z或映像。--null-datased
如何实现与 Alpine Linux实用程序中的-z或等效的功能?--null-datased
我正在尝试使用 Alpine Linux docker 映像运行我的 dotnet 5 单文件应用程序。这是我的 Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:5.0-alpine
WORKDIR /app
COPY ["Service.Translations", "/app/Service.Translations"]
CMD ["./Service.Translations", "--urls", "http://0.0.0.0:5000"]
Run Code Online (Sandbox Code Playgroud)
这是依赖于框架的应用程序。也尝试使用独立的,结果是相同的:未找到。Dotnet 看不到我的文件,sh 也看不到。
这是因为我在 Windows 上构建应用程序而导致的问题吗?所有教程均在图像内包含 alpine 编译应用程序。如果我将 Alpine 更改为 Ubuntu 或其他 - 一切都可以。
更新:好的,问题出在发布上。我必须将 --runtime 更改为 linux-musl-x64 而不是 linux-x64