我正在Docker容器中运行一个烧瓶应用程序,所以我需要绑定主机和容器端口(在这种情况下,两者都是端口5000).
运行此命令:
docker run -v //c/Users/Nicholas/PycharmProjects/flask_tutorial:/opt/project -e "FLASK_APP=/opt/project/flaskr.py" -p 0.0.0.0:5000:5000 flask flask run --host=0.0.0.0
Run Code Online (Sandbox Code Playgroud)
旋转容器,我可以在浏览器本地访问127.0.0.1:5000的应用程序.然而,在将这些相同的设置输入到Pycharm(2016.2.3)运行配置GUI并启动容器后,我无法访问该应用程序(我尝试勾选"发布所有端口"选项无效):

使用docker inspect container_id命令行创建的容器,我在NetworkSettings下获得这些设置:
"Ports": {
"5000/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "5000"
}
]
},
Run Code Online (Sandbox Code Playgroud)
但是使用Pycharm运行配置创建容器时,它似乎没有传递端口绑定:
"Ports": {},
Run Code Online (Sandbox Code Playgroud)
有没有办法检查Pycharm传递给Docker的选项?或者使它正确传递端口绑定选项?
我在Windows 10上,Docker在Hyper-V上运行(不是VirtualBox)
我在C:\ Users\me\Miniconda3安装了Miniconda3,PyCharm中的'Project Interpreter'设置为我的conda环境,这一切都正常.然而,似乎没有为我的路径变量设置conda,就好像我输入conda我得到的PyCharm终端一样
'conda' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
有没有办法将PyCharm终端设置为像Anaconda Prompt一样?
我安装了Windows 10,PyCharm 2018.1 EAP和conda 4.4.10.
我正在尝试使用 SSL 设置 AWS 弹性 beantalk 单个实例,并且我想将私钥存储在 S3 中并让实例在部署后检索密钥(以避免将私钥提交给版本控制)。
根据 AWS 文档:http ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-storingprivatekeys.html ,我已经设置了我的配置,存储在 myproject/.ebextensions/privatekey.config:
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Auth:
type: "s3"
buckets: ["my_bucket"]
roleName:
"Fn::GetOptionSetting":
Namespace: "aws:autoscaling:launchconfiguration"
OptionName: "IamInstanceProfile"
DefaultValue: "aws-elasticbeanstalk-ec2-role"
files:
# Private key
/path/to/private/key:
mode: "000400"
owner: root
group: root
authentication: "S3Auth"
source: https://s3.eu-west-2.amazonaws.com/my_s3_bucket/my_private_key
Run Code Online (Sandbox Code Playgroud)
但是,每当我部署时,我都会收到错误消息:
Command failed on instance. Return code: 1 Output: Failed to retrieve https://s3.eu-west-2.amazonaws.com/my_bucket/my_private_key: 'NoneType' object has no attribute 'is_default'.
我已经检查了 elastic beanstalk 中的配置,并且该项目具有 aws-elasticbeanstalk-ec2-role 的实例配置文件,并且该角色肯定具有 S3 的正确策略(我什至为其分配了 AmazonS3FullAccess,这应该不是必需的!)
当我使用可公开访问的文件进行测试时,我可以让它正常工作。但是,当文件是私有的时则不然。
amazon-s3 amazon-web-services amazon-iam amazon-elastic-beanstalk
我有一个脚本来监视目录(递归)并在文件更改时执行命令。当监控标志如下使用时,这是正常工作的:
#!/bin/sh
inotifywait -m -r /path/to/directory |
while read path action file; do
if [ <perform a check> ]
then
my_command
fi
done
Run Code Online (Sandbox Code Playgroud)
但是,我想在启动时和后台运行它,所以天真地认为我可以将 -m 标志更改为 -d(作为守护进程运行 inotifywait,并包含一个 --outfile 位置),然后将其添加到 rc.local在启动时运行这个。我哪里错了?