我使用了基础docker镜像(openjdk)来创建一个具有简单Java程序的图像.
但我想知道我是否在docker文件中使用2个基本图像.我们怎么做?我不认为docker支持以下任何东西:
FROM dockerImaage1
FROM dockerImage2
Run Code Online (Sandbox Code Playgroud)
其中一个场景,这是为什么需要就是我想要的图像ubuntu
有openjdk
,所以一个办法就是我使用Ubuntu的基本图像和泊坞窗中的文件写入指令来安装的OpenJDK,设置JAVA_HOME变量等,这无疑是很麻烦.
另一种选择,我喜欢使用openjdk
ubuntu内部基础的基本图像(如果可能的话).
可能有更典型的情况,我们可能需要的是严重的特征.
SO 如何在泊坞窗文件中使用2的基本图像的任何想法?还有人这样做过吗?
我在这里找到了一个逆向工程的链接,但它有一些限制,比如如果ubuntu的docker文件使用ADD或COPY等命令,逆向工程就会失败.
我想从这里下载所有产品的图像.我的蜘蛛看起来像:
from shopclues.items import ImgData
import scrapy
class multipleImages(scrapy.Spider):
name='multipleImages'
start_urls=['http://www.shopclues.com/electronic-accessories-8/cameras-18/cameras-special.html?search=1&q1=camera',]
def parse (self, response):
for url in response.css('div.products-grid div.grid-product):
yield {
ImgData(image_urls=[url.css('img::attr(src)').extract()])
}
Run Code Online (Sandbox Code Playgroud)
和items.py:
import scrapy
from scrapy.item import Item
class ShopcluesItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
pass
class ImgData(Item):
image_urls=scrapy.Field()
images=scrapy.Field()
Run Code Online (Sandbox Code Playgroud)
但是我在运行蜘蛛时遇到以下错误:
2016-09-29 11:56:19 [scrapy] DEBUG: Crawled (200) <GET http://www.shopclues.com/robots.txt> (referer: None)
2016-09-29 11:56:20 [scrapy] DEBUG: Crawled (200) <GET http://www.shopclues.com/electronic-accessories-8/cameras-18/cameras-special.html?search=1&q1=camera> (referer: None)
2016-09-29 11:56:20 [scrapy] ERROR: …
Run Code Online (Sandbox Code Playgroud) 我希望将容器的日志保存到主机中每个容器的文件中。我阅读了有关通过日志记录驱动程序执行相同操作的信息。
由于我的主机运行ubuntu 14.04 rsyslog
(默认情况下已运行),因此我想使用syslog
。
以下命令用于运行容器:
docker run -it --log-driver=syslog --log-opt syslog-address=udp://localhost:514 prashant23/ubuntu-java:sample-jdbc-project bash
Run Code Online (Sandbox Code Playgroud)
我没有任何错误地进入了容器。就这样?我怎么知道在哪里可以看到主机上的日志?我做对了吗?我不知道syslog
。我是否还需要在容器上配置系统日志?有没有更好的方法来达到相同的目的。
我不知道该用什么syslog-address
。从哪里可以获取此参数的值?我在某处读取默认值是udp://localhost:514
假设我必须比较两个String
s:
public String checkComaprision(String str) {
if (!("Hello".equals(str))) {
System.out.println("String didn't match to hello");
}
if ("".equals(str) || null == str || (!str.equals("Hello"))) {
System.out.println("String didn't match to hello");
}
}
Run Code Online (Sandbox Code Playgroud)
这里我使用了两种字符串比较内部字符串的方法.在实际比较之前,我已经在许多地方阅读过比较字符串""
和字符串null
.但我认为第一种情况会正常,如果是这样,那我为什么要检查null
并留空?
有没有第一次比较失败的情况?哪种方法更好?