问题描述
我正在尝试通过docker容器在macOS上运行linux可执行文件的多个实例。我面临的问题是,当我运行容器的多个实例时,对macOS的I / O严重缓慢。我怀疑这是因为我运行容器的多个实例的方式。我该如何解决?
详细信息:
我有一个centos-7 docker容器,可在macOS上运行linux可执行文件。 Docker文件为:
FROM scratch
ADD centos-7-x86_64-docker.tar.xz /
LABEL \
org.label-schema.schema-version="1.0" \
org.label-schema.name="CentOS Base Image" \
org.label-schema.vendor="CentOS" \
org.label-schema.license="GPLv2" \
org.label-schema.build-date="20200504" \
org.opencontainers.image.title="CentOS Base Image" \
org.opencontainers.image.vendor="CentOS" \
org.opencontainers.image.licenses="GPL-2.0-only" \
org.opencontainers.image.created="2020-05-04 00:00:00+01:00"
ADD my_exec_folder /usr/local/my_exec_folder
RUN yum install -y openssl
RUN yum install -y neon
ENV LD_LIBRARY_PATH="/usr/lib64:${LD_LIBRARY_PATH}"
copY ./run_my_exec.sh /
RUN chmod +x /run_my_exec.sh
ENTRYPOINT ["/run_my_exec.sh"]
我的run_my_exec.sh运行如下:
#!/bin/bash
export MYEXEC="/usr/local/my_exec_folder/bin/my_exec"
cd $1
cp $MYEXEC .
./my_exec $2
rm ./my_exec
我用以下方法构建容器:
docker build -t my_exec_c .
然后,在我的程序中,我在以std :: thread打开的bash终端中运行容器。我运行容器的命令是:
docker run -t -v /my/rundir_id/on/macos:/rundir_id my_exec_c rundir my_inputs
,其中rundir_id类似于rundir_thread0,rundir_thread1等。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)