我们经常做的一件事是在Dockerfile构建Docker镜像时打包所有源代码.
ADD . /app
Run Code Online (Sandbox Code Playgroud)
我们怎样才能避免.git以简单的方式包含目录?
我试过用Unix来处理这个问题的方法 ADD [^.]* /app/
完整样本:
docker@boot2docker:/mnt/sda1/tmp/abc$ find . . ./c ./.git ./Dockerfile ./good ./good/a1 docker@boot2docker:/mnt/sda1/tmp/abc$ cat Dockerfile FROM ubuntu ADD [^.]* /app/ docker@boot2docker:/mnt/sda1/tmp/abc$ docker build -t abc . Sending build context to Docker daemon 4.096 kB Sending build context to Docker daemon Step 0 : FROM ubuntu ---> 04c5d3b7b065 Step 1 : ADD [^.]* /app/ d ---> 5d67603f108b Removing intermediate container 60159dee6ac8 Successfully built 5d67603f108b docker@boot2docker:/mnt/sda1/tmp/abc$ docker run -it abc root@1b1705dd66a2:/# …
注意 我正在运行Windows,路径看起来像是linus,因为我手动输入它,这就是我对路径的看法.
我正在尝试运行一个java类我已经构建来诊断我与数据库的连接,它引用了oracle jdbc适配器.
当我在没有类路径的情况下运行它时:
%> java DBDiagnostics <connectionString>
Run Code Online (Sandbox Code Playgroud)
当它到达以下代码行时我得到一个异常:
Class.forName("oracle.jdbc.pool.OracleDataSource").newInstance();
Run Code Online (Sandbox Code Playgroud)
除以下异常:
java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at DBDiagnostics.GetConnection(DBDiagnostics.java:43)
at DBDiagnostics.runDiagnostic(DBDiagnostics.java:29)
at DBDiagnostics.main(DBDiagnostics.java:18)
Creating connection.
java.sql.SQLException: No suitable driver found for lskd
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at DBDiagnostics.GetConnection(DBDiagnostics.java:55)
at DBDiagnostics.runDiagnostic(DBDiagnostics.java:29)
at DBDiagnostics.main(DBDiagnostics.java:18)
Veryfying connectivity to Database
Exception in thread "main" java.lang.NullPointerException
at DBDiagnostics.verifyTable(DBDiagnostics.java:86)
at DBDiagnostics.verifyTable(DBDiagnostics.java:76)
at DBDiagnostics.verifyDatabseConnectivity(DBDiagnostics.java:68)
at DBDiagnostics.runDiagnostic(DBDiagnostics.java:36)
at DBDiagnostics.main(DBDiagnostics.java:18)
Run Code Online (Sandbox Code Playgroud)
我认为这是因为我需要将它包含在类路径中.
所以,我尝试将它添加到类路径中,如下所示: …
很难找到与https一起使用的XMLRPC.net库的信息.
可以设置"https"URL的唯一文档是:http://xml-rpc.net/faq/xmlrpcnetfaq-2-5-0.html#2.3但是它没有准确解释如何正确设置.
在下载http://xmlrpcnet.googlecode.com/files/xml-rpc.net.2.5.0.zip中提供的样本基础上试验我试过这个:
StateNameServer解决方案的client.cs文件中的更改:
IStateName svr = (IStateName)Activator.GetObject(
typeof(IStateName), "https://localhost:5678/statename.rem");
Run Code Online (Sandbox Code Playgroud)
服务器代码是什么样的
IDictionary props = new Hashtable();
props["name"] = "MyHttpChannel";
props["port"] = 5678;
HttpChannel channel = new HttpChannel(
props,
null,
new XmlRpcServerFormatterSinkProvider()
);
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(StateNameServer),
"statename.rem",
WellKnownObjectMode.Singleton);
Run Code Online (Sandbox Code Playgroud)
当尝试使用HTTPS联系服务器时,客户端显然会丢弃异常,因为我不知道如何配置它.无论如何,有人可以帮忙吗?我应该寻找什么样的东西?
非常感谢 !
尝试挂载 EFS 文件系统。我唯一更改的是删除使用 EFS 组创建的默认 SG,并将其替换为我的 EC2 实例已经在其中的自定义 SG。
AWS 为挂载 NFS 共享提供了必要的命令,它应该逐字运行。很多时候确实如此。但有时你会得到这个:
mount.nfs4: access denied by server while mounting fs-xxxxxxxx.efs.us-west-2.amazonaws.com:/
Run Code Online (Sandbox Code Playgroud)
可悲的是,故障排除文档在“要采取的行动”标题下说:
如果您尝试使用 IAM 挂载文件系统...
...并且绝对零建议您不要尝试使用 IAM 安装 FS。
首先,我很确定我没有做错什么,因为我已经使用了几十次的剧本将 EFS (NFS) 共享挂载到 EC2 实例,现在它们已经非常完善了。那么为什么有时会失败呢?
amazon-efs ×1
c# ×1
classpath ×1
docker ×1
dockerfile ×1
https ×1
java ×1
mount ×1
permissions ×1
remoting ×1
ubuntu ×1
xml-rpc ×1