首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Maven运行stilliard/pure-ftpd

如何通过Maven运行stilliard/pure-ftpd
EN

Stack Overflow用户
提问于 2019-10-04 17:12:55
回答 1查看 190关注 0票数 0

我想通过maven运行stilliard/pure-ftpd。因此,当我运行mvn clean install时,docker镜像将会旋转,并且我的IT测试可以与docker镜像通信。

这是我的pom.xml.file的样子

代码语言:javascript
复制
<plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>prepare-it</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start</goal>
                        </goals>
                        <configuration>
                            <images>
                                <image>
                                    <alias>rabbitmq</alias>
                                    <name>rabbitmq:3-management-alpine</name>
                                    <run>
                                        <ports>
                                            <port>${rabbitmq.port}:5672</port>
                                            <port>${rabbitmq-management.port}:15672</port>
                                        </ports>
                                        <wait>
                                            <http>
                                                <url>http://${rabbitmq.host}:${rabbitmq-management.port}</url>
                                                <method>GET</method>
                                                <status>200..399</status>
                                            </http>
                                            <time>30000</time>
                                        </wait>
                                    </run>
                                </image>
                                <image>
                                    <alias>sftp</alias>
                                    <name>stilliard/pure-ftpd</name>
                                    <run>
                                        <cmd>${sftp.username}:${sftp.password}:::${sftp.directory}</cmd>
                                        <ports>
                                            <port>${sftp.port}:21</port>
                                        </ports>
                                        <wait>
                                            <time>10000</time>
                                        </wait>
                                    </run>
                                </image>
                            </images>
                        </configuration>
                    </execution>
                    <execution>
                        <id>remove-it</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

除了ftp服务器之外,一切都会启动。我在运行mvn clean install时收到以下消息

代码语言:javascript
复制
[INFO] DOCKER> [stilliard/pure-ftpd] "sftp": Start container c40ccb9d35e7
[ERROR] DOCKER> Error occurred during container startup, shutting down...
[INFO] DOCKER> [rabbitmq:3-management-alpine] "rabbitmq": Stop and removed container afbc982dc61b after 0 ms
[ERROR] DOCKER> I/O Error

为了让stilliard/pure-ftpd启动,我遗漏了什么。

EN

回答 1

Stack Overflow用户

发布于 2019-10-04 21:14:38

我不知道你说的是什么意思

代码语言:javascript
复制
<cmd>${sftp.username}:${sftp.password}:::${sftp.directory}</cmd>

但是它看起来不像是容器的有效命令。如果您查看一下Dockerfile,就会发现命令是用/bin/bash -c "your command here"执行的

如果您打算运行服务器并使用用户和密码进行连接,则可以执行以下操作:

代码语言:javascript
复制
<images>
  <image>
    <alias>sftp</alias>
    <name>stilliard/pure-ftpd</name>
    <run>
      <env>
        <FTP_USER_NAME>sw</FTP_USER_NAME>
        <FTP_USER_PASS>pass</FTP_USER_PASS>
        <FTP_USER_HOME>/home/sw</FTP_USER_HOME>
      </env>
      <ports>
        <port>3000:21</port>
        <port>30000:30000</port>
        <port>30001:30001</port>
        <port>30002:30002</port>
        <port>30003:30003</port>
        <port>30004:30004</port>
        <port>30005:30005</port>
        <port>30006:30006</port>
        <port>30007:30007</port>
        <port>30008:30008</port>
        <port>30009:30009</port>
      </ports>
      <wait>
        <time>10000</time>
      </wait>
    </run>
  </image>
</images>

它设置运行时FTP用户(参见设置运行时FTP用户的readme和password.You需要打开30000-30009端口才能使ftp passive mode工作。

在主机上运行ftp -p localhost 3000检查是否正常。希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58233342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档