我正在尝试更改net.core.somaxconndocker容器,以便能够为我的Web应用程序提供更大的请求队列.
在OS上,在docker之外,我首先成功修改了属性:
$ cat /proc/sys/net/core/somaxconn
128
$ sudo sysctl -w net.core.somaxconn=1024
net.core.somaxconn = 1024
$ cat /proc/sys/net/core/somaxconn
1024
Run Code Online (Sandbox Code Playgroud)
但后来我不知道如何将这种变化传播到docker中.我试过了:
/etc/sysctl.conf(希望docker在容器启动时读取该文件)sudo docker stop和sudo docker run再次sudo service docker restart但在容器内,cat /proc/sys/net/core/somaxconn总是显示128.
我正在运行docker 1.2(所以我不能,默认情况下,不能修改/proc容器内的属性)和Elastic Beanstalk(所以没有--privileged模式,这将允许我修改/proc).
如何将sysctl更改传播到docker?
我有一个Docker容器,可以在我的本地开发机器上运行.我想将其移至AWS Elastic Beanstalk,但我遇到了一些麻烦.
我正试图S3通过使用将一个桶装到我的容器中s3fs.我有Dockerfile:
FROM tomcat:7.0
MAINTAINER me@example.com
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential libfuse-dev libcurl4-openssl-dev libxml++2.6-dev libssl-dev mime-support automake libtool wget tar
# Add the java source
ADD . /path/to/tomcat/webapps/
ADD run_docker.sh /root/run_docker.sh
WORKDIR $CATALINA_HOME
EXPOSE 8080
CMD ["/root/run_docker.sh"]
Run Code Online (Sandbox Code Playgroud)
我通过运行以下命令安装s3fs,装载S3存储桶并在创建映像后运行Tomcat服务器run_docker.sh:
#!/bin/bash
#run_docker.sh
wget https://github.com/s3fs-fuse/s3fs-fuse/archive/master.zip -O /usr/src/master.zip;
cd /usr/src/;
unzip /usr/src/master.zip;
cd /usr/src/s3fs-fuse-master;
autoreconf --install;
CPPFLAGS=-I/usr/include/libxml2/ /usr/src/s3fs-fuse-master/configure;
make;
make install;
cd …Run Code Online (Sandbox Code Playgroud) linux amazon-s3 amazon-web-services docker amazon-elastic-beanstalk