【问题标题】:Unable to access CKAN portal using DOCKER无法使用 DOCKER 访问 CKAN 门户
【发布时间】:2017-08-03 09:34:43
【问题描述】:

我正在尝试按照以下步骤在 docker 容器中运行 ckan:http://docs.ckan.org/en/ckan-2.4.7/maintaining/installing/install-using-docker.html

来自https://hub.docker.com/u/ckan/ 的图片链接似乎在发布此问题时(2 天前)已更新。

好吧,我已经按照以下步骤操作了:

$ docker run -d --name db ckan/postgresql
$ docker run -d --name solr ckan/solr
$ docker run -d -p 80:80 --link db:db --link solr:solr ckan/ckan

一切正常,但问题是,我怎样才能访问 ckan 门户???

使用docker inspect <ckan_image> 我得到这样的结果:

"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "c66a4d1bb1a27c160f1655a9c660d24337e85053e8a8ad1e1a2c570ed217223e",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "5000/tcp": null,
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "80"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/c66a4d1bb1a2",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "7985fc49cc7795b668ca4dfc5812f0ffa40f305f29a7726b15947890051f2014",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.4",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:04",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "88de6de00bdbc9974e48021ff783378835fc99d09582b8f7ccaab363a605a499",
                    "EndpointID": "7985fc49cc7795b668ca4dfc5812f0ffa40f305f29a7726b15947890051f2014",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.4",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:04",
                    "DriverOpts": null
                }
            }
        }

暴露的端口是 5000 和 80,所以使用这个 ip 地址和这个端口应该可以访问它。

我错过了什么吗?

http://localhost:8983/solr/#/中访问solr是正确的

更新 1

在 Tarun Lalwani 的帮助下并使用 docker-compose,我认为 ckan 和 solr 存在问题。这是输出错误:

见第二行:

无效的 URL u'http://:/solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json':未提供主机

ckan_1  | 2017-07-31 11:23:37,622 INFO  [ckan.config.environment] Loading static files from public
****ckan_1  | 2017-07-31 11:23:37,916 ERROR [ckan.lib.search.common] Invalid URL u'http://:/solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json': No host supplied****
ckan_1  | Traceback (most recent call last):
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/lib/search/common.py", line 57, in is_available
ckan_1  |     conn.search(q="*:*", rows=1)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 720, in search
ckan_1  |     response = self._select(params, handler=search_handler)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 418, in _select
ckan_1  |     return self._send_request('get', path)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 366, in _send_request
ckan_1  |     timeout=self.timeout)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/sessions.py", line 515, in get
ckan_1  |     return self.request('GET', url, **kwargs)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
ckan_1  |     prep = self.prepare_request(req)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/sessions.py", line 431, in prepare_request
ckan_1  |     hooks=merge_hooks(request.hooks, self.hooks),
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/models.py", line 305, in prepare
ckan_1  |     self.prepare_url(url, params)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/models.py", line 382, in prepare_url
ckan_1  |     raise InvalidURL("Invalid URL %r: No host supplied" % url)
ckan_1  | InvalidURL: Invalid URL u'http://:/solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json': No host supplied
ckan_1  | 2017-07-31 11:23:38,106 WARNI [ckan.lib.search] Problems were found while connecting to the SOLR server
ckan_1  | 2017-07-31 11:23:38,183 INFO  [ckan.config.environment] Loading templates from /usr/lib/ckan/default/src/ckan/ckan/templates
ckan_1  | Traceback (most recent call last):
ckan_1  |   File "/usr/local/bin/ckan-paster", line 11, in <module>
ckan_1  |     sys.exit(run())
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 102, in run
ckan_1  |     invoke(command, command_name, options, args[1:])
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 141, in invoke
ckan_1  |     exit_code = runner.run(args)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 236, in run
ckan_1  |     result = self.command()
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 337, in command
ckan_1  |     self._load_config(cmd!='upgrade')
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 310, in _load_config
ckan_1  |     self.site_user = load_config(self.options.config, load_site_user)
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 225, in load_config
ckan_1  |     load_environment(conf.global_conf, conf.local_conf)
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 111, in load_environment
ckan_1  |     p.load_all()
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 129, in load_all
ckan_1  |     unload_all()
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 182, in unload_all
ckan_1  |     unload(*reversed(_PLUGINS))
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 210, in unload
ckan_1  |     plugins_update()
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 121, in plugins_update
ckan_1  |     environment.update_config()
ckan_1  |   File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 289, in update_config
ckan_1  |     engine = sqlalchemy.engine_from_config(config, client_encoding='utf8')
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 428, in engine_from_config
ckan_1  |     return create_engine(url, **options)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 387, in create_engine
ckan_1  |     return strategy.create(*args, **kwargs)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 50, in create
ckan_1  |     u = url.make_url(name_or_url)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/url.py", line 194, in make_url
ckan_1  |     return _parse_rfc1738_args(name_or_url)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/url.py", line 240, in _parse_rfc1738_args
ckan_1  |     return URL(name, **components)
ckan_1  |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/url.py", line 60, in __init__
ckan_1  |     self.port = int(port)
ckan_1  | ValueError: invalid literal for int() with base 10: ''

之后我得到:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
d44df7bad12f        ckan/solr           "docker-entrypoint..."   2 hours ago         Up 19 minutes       8983/tcp            dockercompose_solr_1
8f0c6c815746        ckan/postgresql     "docker-entrypoint..."   2 hours ago         Up 19 minutes       5432/tcp            dockercompose_db_1

其他的好像还可以。

更新 2

更新了我的 docker-compose 文件。我已经做了几次测试。最后,这种组合似乎奏效了。 Solr 工作正常(只需用 kitematic 更改公共端口),postgresql 有数据库和表,我可以正确访问,但出现内部服务器错误,所以我想我已经接近了。

我的 docker-compose 文件:

version: '3'
services:
  solr:
    container_name: solr
    #Possible options solr
    #image: milafrerichs/ckan_solr
    #image: miguelbgouveia/solr-docker
    image: ckan/solr:dev-v2.6
    ports:
      - "8983:8983/tcp"

  db:
    container_name: db
    image: ckan/postgresql
    ports:
      - "5432:5432/tcp"
  ckan:
    container_name: ckan
    image: ckan/ckan:dev-v2.6
    depends_on:
      - solr
      - db
    links:
      - db:db
    ports:
      - "5000:5000"
      - "80:80"
    environment:
       DATABASE_URL: "postgresql://ckan:ckan@db:5432/ckan"
       SOLR_URL: "http://solr:8983/solr/ckan" 

查看 apache2 日志,我没有看到任何有趣的东西。

这是完整的输出:

$ docker-compose -f docker-compose-ckan.yml up

Attaching to db, solr, ckan
solr    | Starting Solr on port 8983 from /opt/solr/server
solr    |
solr    | 0    INFO  (main) [   ] o.e.j.u.log Logging initialized @2757ms
solr    | 1711 INFO  (main) [   ] o.e.j.s.Server jetty-9.3.8.v20160314
db      | running bootstrap script ... ok
db      | performing post-bootstrap initialization ... ok
db      | syncing data to disk ... ok
db      |
ckan    | Distribution already installed:
ckan    |   ckan 2.6.3 from /usr/lib/ckan/default/src/ckan
ckan    | Creating /etc/ckan/default/ckan.ini
ckan    | Now you should edit the config files
ckan    |   /etc/ckan/default/ckan.ini
ckan    | Edited option sqlalchemy.url = "postgresql://ckan_default:pass@localhost/ckan_default"->"postgresql://ckan:ckan@db:5432/ckan" (section "app:main")
ckan    | Edited option ckan.site_url = ""->"http://192.168.0.6" (section "app:main")
ckan    | Option uncommented and set solr_url = "http://solr:8983/solr/ckan" (section "app:main")
ckan    | Option uncommented and set ckan.storage_path = "/var/lib/ckan" (section "app:main")
ckan    | Option uncommented and set email_to = "disabled@example.com" (section "app:main")
ckan    | Option uncommented and set error_email_from = "ckan@95e87010bd4d" (section "app:main")
solr    | 1803 INFO  (main) [   ] o.e.j.d.p.ScanningAppProvider Deployment monitor [file:///opt/solr/server/contexts/] at interval 0
solr    | 4046 INFO  (main) [   ] o.e.j.w.StandardDescriptorProcessor NO JSP Support for /solr, did not find org.apache.jasper.servlet.JspServlet
solr    | 4080 WARN  (main) [   ] o.e.j.s.SecurityHandler ServletContext@o.e.j.w.WebAppContext@13a5fe33{/solr,file:///opt/solr/server/solr-webapp/webapp/,STARTING}{/opt/solr/server/solr-webapp/webapp} has uncovered http methods for path: /
solr    | 4118 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter SolrDispatchFilter.init(): WebAppClassLoader=1740189450@67b92f0a
solr    | 4163 INFO  (main) [   ] o.a.s.c.SolrResourceLoader JNDI not configured for solr (NoInitialContextEx)
solr    | 4169 INFO  (main) [   ] o.a.s.c.SolrResourceLoader using system property solr.solr.home: /opt/solr/server/solr
solr    | 4174 INFO  (main) [   ] o.a.s.c.SolrResourceLoader new SolrResourceLoader for directory: '/opt/solr/server/solr'
solr    | 4179 INFO  (main) [   ] o.a.s.c.SolrResourceLoader JNDI not configured for solr (NoInitialContextEx)
solr    | 4179 INFO  (main) [   ] o.a.s.c.SolrResourceLoader using system property solr.solr.home: /opt/solr/server/solr
db      | LOG:  autovacuum launcher started
solr    | 4186 INFO  (main) [   ] o.a.s.c.SolrXmlConfig Loading container configuration from /opt/solr/server/solr/solr.xml
solr    | 4455 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Config-defined core root directory: /opt/solr/server/solr
db      |  done
db      | server started
db      |  done
db      | server stopped
db      |
db      | PostgreSQL init process complete; ready for start up.
db      |
db      | LOG:  database system was shut down at 2017-08-01 22:58:52 UTC
db      | LOG:  MultiXact member wraparound protections are now enabled
db      | LOG:  database system is ready to accept connections
solr    | 5404 INFO  (main) [   ] o.a.s.h.c.HttpShardHandlerFactory created with socketTimeout : 600000,connTimeout : 60000,maxConnectionsPerHost : 20,maxConnections : 10000,corePoolSize : 0,maximumPoolSize : 2147483647,maxThreadIdleTime : 5,sizeOfQueue : -1,fairnessPolicy : false,useRetries : false,
solr    | 6145 INFO  (main) [   ] o.a.s.u.UpdateShardHandler Creating UpdateShardHandler HTTP client with params: socketTimeout=600000&connTimeout=60000&retry=true
solr    | 6153 INFO  (main) [   ] o.a.s.l.LogWatcher SLF4J impl is org.slf4j.impl.Log4jLoggerFactory
solr    | 6160 INFO  (main) [   ] o.a.s.l.LogWatcher Registering Log Listener [Log4j (org.slf4j.impl.Log4jLoggerFactory)]
solr    | 6163 INFO  (main) [   ] o.a.s.c.CoreContainer Security conf doesn't exist. Skipping setup for authorization module.
solr    | 6165 INFO  (main) [   ] o.a.s.c.CoreContainer No authentication plugin used.
solr    | 6341 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Looking for core definitions underneath /opt/solr/server/solr
solr    | 6353 INFO  (main) [   ] o.a.s.c.CoreDescriptor Created CoreDescriptor: {name=ckan, config=solrconfig.xml, loadOnStartup=true, schema=schema.xml, configSetProperties=configsetprops.json, transient=false, dataDir=data/}
solr    | 6356 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Found core ckan in /opt/solr/server/solr/ckan
ckan    | *** Running /etc/my_init.d/70_initdb...
**ckan    | 2017-08-01 22:58:54,440 ERROR [pysolr] Failed to connect to server at 'http://solr:8983/solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json', are you sure that URL is correct? Checking it in a browser might help: HTTPConnectionPool(host='solr', port=8983): Max retries exceeded with url: /solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fb54cbe9050>: Failed to establish a new connection: [Errno 111] Connection refused',))**
ckan    | Traceback (most recent call last):
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 361, in _send_request
ckan    |     timeout=self.timeout)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/sessions.py", line 487, in get
ckan    |     return self.request('GET', url, **kwargs)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
ckan    |     resp = self.send(prep, **send_kwargs)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/sessions.py", line 585, in send
ckan    |     r = adapter.send(request, **kwargs)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/requests/adapters.py", line 467, in send
ckan    |     raise ConnectionError(e, request=request)
**ckan    | ConnectionError: HTTPConnectionPool(host='solr', port=8983): Max retries exceeded with url: /solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fb54cbe9050>: Failed to establish a new connection: [Errno 111] Connection refused',))**
solr    | 6399 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Found 1 core definitions
solr    | 6665 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter user.dir=/opt/solr/server
ckan    | 2017-08-01 22:58:54,444 ERROR [ckan.lib.search.common] Failed to connect to server at 'http://solr:8983/solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json', are you sure that URL is correct? Checking it in a browser might help: HTTPConnectionPool(host='solr', port=8983): Max retries exceeded with url: /solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fb54cbe9050>: Failed to establish a new connection: [Errno 111] Connection refused',))
ckan    | Traceback (most recent call last):
ckan    |   File "/usr/lib/ckan/default/src/ckan/ckan/lib/search/common.py", line 56, in is_available
ckan    |     conn.search(q="*:*", rows=1)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 710, in search
ckan    |     response = self._select(params, handler=search_handler)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 411, in _select
ckan    |     return self._send_request('get', path)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 370, in _send_request
ckan    |     raise SolrError(error_message % params)
ckan    | SolrError: Failed to connect to server at 'http://solr:8983/solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json', are you sure that URL is correct? Checking it in a browser might help: HTTPConnectionPool(host='solr', port=8983): Max retries exceeded with url: /solr/ckan/select/?q=%2A%3A%2A&rows=1&wt=json (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fb54cbe9050>: Failed to establish a new connection: [Errno 111] Connection refused',))
ckan    | 2017-08-01 22:58:54,444 WARNI [ckan.lib.search] Problems were found while connecting to the SOLR server
ckan    | 2017-08-01 22:58:55,458 ERROR [pysolr] Solr responded with an error (HTTP 503): [Reason: Error 503 {metadata={error-class=org.apache.solr.common.SolrException,root-error-class=org.apache.solr.common.SolrException},msg=SolrCore is loading,code=503}]
ckan    | 2017-08-01 22:58:55,458 ERROR [ckan.lib.search.common] Solr responded with an error (HTTP 503): [Reason: Error 503 {metadata={error-class=org.apache.solr.common.SolrException,root-error-class=org.apache.solr.common.SolrException},msg=SolrCore is loading,code=503}]
ckan    | Traceback (most recent call last):
ckan    |   File "/usr/lib/ckan/default/src/ckan/ckan/lib/search/common.py", line 56, in is_available
ckan    |     conn.search(q="*:*", rows=1)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 710, in search
ckan    |     response = self._select(params, handler=search_handler)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 411, in _select
ckan    |     return self._send_request('get', path)
ckan    |   File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pysolr.py", line 386, in _send_request
ckan    |     raise SolrError(error_message % (resp.status_code, solr_message))
ckan    | SolrError: Solr responded with an error (HTTP 503): [Reason: Error 503 {metadata={error-class=org.apache.solr.common.SolrException,root-error-class=org.apache.solr.common.SolrException},msg=SolrCore is loading,code=503}]
db      | ERROR:  relation "user" does not exist at character 465
db      | STATEMENT:  SELECT "user".password AS user_password, "user".id AS user_id, "user".name AS user_name, "user".openid AS user_openid, "user".fullname AS user_fullname, "user".email AS user_email, "user".apikey AS user_apikey, "user".created AS user_created, "user".reset_key AS user_reset_key, "user".about AS user_about, "user".activity_streams_email_notifications AS user_activity_streams_email_notifications, "user".sysadmin AS user_sysadmin, "user".state AS user_state
db      |       FROM "user"
db      |       WHERE "user".name = 'default' OR "user".id = 'default' ORDER BY "user".name
db      |        LIMIT 1

solr    | 13480 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.r.RestManager Initializing 0 registered ManagedResources
db      | ERROR:  relation "user" does not exist at character 465
db      | STATEMENT:  SELECT "user".password AS user_password, "user".id AS user_id, "user".name AS user_name, "user".openid AS user_openid, "user".fullname AS user_fullname, "user".email AS user_email, "user".apikey AS user_apikey, "user".created AS user_created, "user".reset_key AS user_reset_key, "user".about AS user_about, "user".activity_streams_email_notifications AS user_activity_streams_email_notifications, "user".sysadmin AS user_sysadmin, "user".state AS user_state
db      |       FROM "user"
db      |       WHERE "user".name = 'default' OR "user".id = 'default' ORDER BY "user".name
db      |        LIMIT 1
solr    | 13577 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.h.c.SpellCheckComponent Initializing spell checkers
solr    | 13640 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.s.DirectSolrSpellChecker init: {name=default,field=_text_,classname=solr.DirectSolrSpellChecker,distanceMeasure=internal,accuracy=0.5,maxEdits=2,minPrefix=1,maxInspections=5,minQueryLength=4,maxQueryFrequency=0.01}
solr    | 13653 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.h.c.SpellCheckComponent No queryConverter defined, using default converter

solr    | 13700 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.h.c.QueryElevationComponent Loading QueryElevation from: /opt/solr/server/solr/ckan/conf/elevate.xml
solr    | 13914 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.h.ReplicationHandler Commits will be reserved for  10000
solr    | 14015 INFO  (searcherExecutor-7-thread-1-processing-x:ckan) [   x:ckan] o.a.s.c.QuerySenderListener QuerySenderListener sending requests to Searcher@2cd58256[ckan] main{ExitableDirectoryReader(UninvertingDirectoryReader())}
solr    | 14018 INFO  (searcherExecutor-7-thread-1-processing-x:ckan) [   x:ckan] o.a.s.c.QuerySenderListener QuerySenderListener done.
solr    | 14021 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.u.UpdateLog Looking up max value of version field to seed version buckets
solr    | 14023 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.u.VersionInfo Refreshing highest value of _version_ for 65536 version buckets from index
solr    | 14026 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.u.VersionInfo No terms found for _version_, cannot seed version bucket highest value from index
solr    | 14035 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.u.UpdateLog Could not find max version in index or recent updates, using new clock 1574571440349380608
solr    | 14020 INFO  (searcherExecutor-7-thread-1-processing-x:ckan) [   x:ckan] o.a.s.h.c.SpellCheckComponent Loading spell index for spellchecker: default
solr    | 14075 INFO  (searcherExecutor-7-thread-1-processing-x:ckan) [   x:ckan] o.a.s.c.SolrCore [ckan] Registered new searcher Searcher@2cd58256[ckan] main{ExitableDirectoryReader(UninvertingDirectoryReader())}
solr    | 14088 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.u.UpdateLog Took 65.0ms to seed version buckets with highest version 1574571440349380608

db      | WARNING:  there is already a transaction in progress
ckan    | 2017-08-01 22:58:55,460 WARNI [ckan.lib.search] Problems were found while connecting to the SOLR server
ckan    | Initialising DB: SUCCESS
ckan    | *** Running /etc/rc.local...
ckan    | *** Booting runit daemon...
ckan    | *** Runit started as PID 25
ckan    |  * Starting Postfix Mail Transport Agent postfix
ckan    | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.4. Set the 'ServerName' directive globally to suppress this message
ckan    |    ...done.
solr    | 14092 INFO  (coreLoadExecutor-6-thread-1) [   x:ckan] o.a.s.c.CoreContainer registering core: ckan
solr exited with code 137
db      | WARNING:  there is no transaction in progress
db exited with code 137

有什么建议吗?

谢谢

【问题讨论】:

  • 这里有同样的问题,使用 master 的 docker-compose 和 postgresql 文件夹。无法使用 localhost:5000 访问,并且显然 docker 日志上没有错误
  • 你使用了我的 docker-compose.yml 还是使用了另一个?我想探索其他可能性来完成这项工作
  • 我使用 github.com/ckan/ckan/blob/master/contrib/docker/… 没有修改,加上 postgresql 文件夹。然后我做了:docker-compose build,docker-compose up,并按照建议 docker-compose up ckan 稍后确保 ckan 在线。没有明显错误但无法访问
  • 这方面有什么更新吗?我也在为此苦苦挣扎。

标签: docker installation docker-compose ckan


【解决方案1】:

使用docker-compose 可以更轻松地执行这些操作。下面的文件会帮助你

version: '2'
services:
  db:
    image: ckan/postgresql
  solr:
    image: ckan/solr
  ckan:
    image: ckan
    ports:
      - "80:80"
      - "5000:5000"

执行docker-compose up 以使其运行。然后您可以通过http://&lt;HOSTIPofDocker&gt;:80 访问ckan。如果您无法访问它,请确保运行 docker-compose ps 以检查一切是否正在运行并使用 docker-compose logs -f ckan 检查日志

【讨论】:

    【解决方案2】:

    docker 安装文档已过期。我目前正在更新以在pull request 中添加 Docker Compose 的安装文档。希望这会有所帮助!

    【讨论】:

    • github.com/ckan/ckan/pull/3692/files 添加了 postgresql/Dockerfile,在步骤 11/16 之前一切正常,它需要 requeriments.txt,错误:无法打开需求文件:[Errno 2] 没有这样的文件或目录: '/usr/lib/ckan/venv/src/ckan/requirements.txt',在ckan安装中看不到如何添加这个文件,谢谢
    • 嗨。使用来自hub.docker.com/r/ckan/ckan/builds/bxjriuyamjzlqwjwvy36p3c(最新)的 Dockerfile 显示相同的错误:步骤 12/26:添加 ./requirements.txt $CKAN_HOME/src/ckan/requirements.txt 添加失败:stat /var/lib/docker/tmp/docker- builder143715961/requirements.txt:没有这样的文件或目录
    • @davisoski 我确定发布的 Docker 映像将无法正常工作,您必须根据我的拉取请求构建 CKAN 映像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多