Java AdminTask.createDatasource在Dockerfile中给出语法错误

Java AdminTask.createDatasource在Dockerfile中给出语法错误,java,spring,docker,dockerfile,websphere-8,Java,Spring,Docker,Dockerfile,Websphere 8,我正在尝试在docker容器中创建oracle数据源 重构 使用以下命令 FROM ibmcom/websphere-traditional:8.5.5.12-profile RUN wsadmin.sh -lang jython -conntype NONE -c "AdminTask.createAuthDataEntry('-alias Oracle_User -user dbuser -password dbpwd')" RUN wsadmin.sh -lang jython -con

我正在尝试在docker容器中创建oracle数据源

重构

使用以下命令

FROM ibmcom/websphere-traditional:8.5.5.12-profile
RUN wsadmin.sh -lang jython -conntype NONE -c "AdminTask.createAuthDataEntry('-alias Oracle_User -user dbuser -password dbpwd')"
RUN wsadmin.sh -lang jython -conntype NONE -c "AdminTask.createJDBCProvider(['-scope' 'Node=DefaultNode01','Server=server1' '-databaseType' 'Oracle' '-providerType' 'Oracle JDBC Driver' '-implementationType' 'Connection pool data source' '-name' 'Oracle_JDBC_Driver_Provider' '-description' 'Oracle JDBC Driver' '-classpath' ['/opt/lib/ojdbc6-12.1.0.2.0.jar'] '-nativePath' '' ])"
RUN wsadmin.sh -lang jython -conntype NONE -c "AdminTask.createDatasource('Oracle_JDBC_Driver_Provider', '[-name MyDataSource -jndiName jndi/jndiname -dataStoreHelperClassName com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper -containerManagedPersistence true -componentManagedAuthenticationAlias DefaultNode01/Oracle_User -configureResourceProperties [[URL java.lang.String jdbc:oracle:thin:@hostname:48441/SID]]]')"
但在误差以下

    The command '/bin/sh -c wsadmin.sh -lang jython -conntype NONE -c "AdminTask.createDatasource('Oracle_JDBC_Driver_Provider', '[-name MyDataSource -jndiName jndi/jndiname -dataStoreHelperClassName com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper -containerManagedPersistence true -componentManagedAuthenticationAlias DefaultNode01/Oracle_User -configureResourceProperties [[URL java.lang.String jdbc:oracle:thin:@hostname:48441/SID]]]')"' returned a non-zero code: 103 –

在我看来,语法错误是一个不匹配的字符,作为createDataSource命令的倒数第二个字符。要纠正这一点,您需要在
[-name MyDataSource

前面添加另一个字符,除非您真的必须使用传统的WebSphere,否则我建议您使用WebSphere Liberty,它更适合Docker,并且配置更简单。