簡體   English   中英

通過“ revel build”運行.sh二進制文件 <testapp> &#39;沒有在docker容器中運行

[英]run.sh binary file thru 'revel build <testapp>' not running inside docker container

正如我最近開始使用revel框架來構建go網絡應用程序一樣。 我創建了一個testapp(orpat),將其編譯為“ revel build orpat prod”,並更改了conf PORT-> 8084以發布該應用。 生成的文件是-

  1. orpat(可執行文件11 MB)
  2. run.sh
  3. 的run.bat
  4. src /文件夾

它在其他位置的本地系統上運行良好(當然,它安裝了golang和revel)。 HTTP://本地主機:8084

我將構建文件復制到未安裝golang的VM,它也在那里執行'./run.sh':在終端中運行此cmd足以使應用程序聯機。

下面是dockerfile->

 FROM golang:1.10.4-alpine3.8 RUN apk --no-cache add ca-certificates RUN apk add --no-cache bash COPY . /go/src/orpat WORKDIR /go/src EXPOSE 8084/tcp RUN chmod -vR 777 /go/src/orpat CMD [ "bash", "run.sh" ] 

通過'docker build -t orpat'創建映像。 工作正常。

 a@kc:~/docker/orpat$ sudo docker build -t orpat . Sending build context to Docker daemon 12.02MB Step 1/8 : FROM golang:1.10.4-alpine3.8 ---> 20834f40149c Step 2/8 : RUN apk --no-cache add ca-certificates ---> Running in 154c0f3024f1 fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz OK: 5 MiB in 14 packages Removing intermediate container 154c0f3024f1 ---> 50d5c49f8eee Step 3/8 : RUN apk add --no-cache bash ---> Running in b3c9ad1bfe06 fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz (1/5) Installing ncurses-terminfo-base (6.1_p20180818-r1) (2/5) Installing ncurses-terminfo (6.1_p20180818-r1) (3/5) Installing ncurses-libs (6.1_p20180818-r1) (4/5) Installing readline (7.0.003-r0) (5/5) Installing bash (4.4.19-r1) Executing bash-4.4.19-r1.post-install Executing busybox-1.28.4-r0.trigger OK: 14 MiB in 19 packages Removing intermediate container b3c9ad1bfe06 ---> 8ac100f8ab2f Step 4/8 : COPY . /go/src/orpat ---> 7545fd3bf0d4 Step 5/8 : WORKDIR /go/src ---> Running in 469df33c4fea Removing intermediate container 469df33c4fea ---> 69f0e4c2c42f Step 6/8 : EXPOSE 8084/tcp ---> Running in 716e1d7b7f0f Removing intermediate container 716e1d7b7f0f ---> 2bbd4e3c90b7 Step 7/8 : RUN chmod -vR 777 /go/src/orpat ---> Running in 1e9286d6f9ad mode of '/go/src/orpat' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/500.txt' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/405.xml' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/500.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/405.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/404.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/500.xml' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/500.json' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/403.txt' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/403.json' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/404.txt' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/404.json' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/405.txt' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/404.xml' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/404-dev.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/405.json' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/403.xml' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/500-dev.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/templates/errors/403.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/conf' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/revel/conf/mime-types.conf' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/testrunner.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/plugin.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/controllers' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/controllers/testrunner.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/views' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/views/TestRunner' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/views/TestRunner/SuiteResult.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/views/TestRunner/Index.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/app/views/TestRunner/FailureDetail.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/js' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/js/jquery-1.9.1.min.js' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/js/bootstrap.min.js' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/js/highlight.pack.js' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/images' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/images/favicon.png' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/css' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/css/github.css' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/public/css/bootstrap.min.css' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/conf' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/testrunner/conf/routes' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/static' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/static/static.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/static/app' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/static/app/controllers' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/github.com/revel/modules/static/app/controllers/static.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/log' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/log/orpat-requests.json' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/README.md' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/tmp' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/tmp/main.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/init.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/routes' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/routes/routes.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/controllers' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/controllers/app.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/header.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/footer.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/flash.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/debug.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/App' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/App/Index.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/errors' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/errors/500.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/app/views/errors/404.html' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/messages' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/messages/sample.en' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/js' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/js/bootstrap-3.3.6.min.js' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/js/jquery-2.2.4.min.js' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/fonts' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/fonts/glyphicons-halflings-regular.woff2' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/fonts/glyphicons-halflings-regular.woff' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/fonts/glyphicons-halflings-regular.ttf' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/img' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/img/favicon.png' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/css' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/public/css/bootstrap-3.3.6.min.css' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/tests' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/tests/apptest.go' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/conf' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/conf/routes' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/src/orpat/conf/app.conf' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/run.sh' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/Dockerfile' changed to 0777 (rwxrwxrwx) mode of '/go/src/orpat/orpat' changed to 0777 (rwxrwxrwx) Removing intermediate container 1e9286d6f9ad ---> cceab940ff2c Step 8/8 : CMD [ "bash", "run.sh" ] ---> Running in 41b7bf5daee6 Removing intermediate container 41b7bf5daee6 ---> 51ee4984d102 Successfully built 51ee4984d102 Successfully tagged orpat:latest 

但是從圖像創建容器時,它會被創建並處於退出狀態。 重新啟動后,它將再次進入已退出狀態。 無法在8084端口的瀏覽器中瀏覽應用程序。

 a@kc:~/docker/orpat$ sudo docker run -d -it -p 8084:8084 orpat e0d87929635b1a0340b7ef297c1d01c1b9961d3e7562da6e9d79691a579058fd a@kc:~/docker/orpat$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a@kc:~/docker/orpat$ sudo docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e0d87929635b orpat "bash run.sh" 17 seconds ago Exited (127) 16 seconds ago naughty_easley 7ed9b052abff sample:1.0 "npm start" 5 days ago Exited (0) 4 days ago sample_app 74b229937da3 mongo:3.0.15 "docker-entrypoint.s…" 5 days ago Exited (0) 4 days ago sample_db a@kc:~/docker/orpat$ sudo docker container start naughty_easley naughty_easley a@kc:~/docker/orpat$ sudo docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e0d87929635b orpat "bash run.sh" 46 seconds ago Exited (127) 2 seconds ago naughty_easley 7ed9b052abff sample:1.0 "npm start" 5 days ago Exited (0) 4 days ago sample_app 74b229937da3 mongo:3.0.15 "docker-entrypoint.s…" 5 days ago Exited (0) 4 days ago sample_db 

所以我進入一個全新的容器,並執行this->

'sudo docker run -it -p 8084:8084 orpat bash'

並收到類似->的錯誤

 a@kc:~/docker/orpat$ sudo docker run -it -p 8084:8084 orpat bash bash-4.4# pwd /go/src bash-4.4# ls -a . .. orpat bash-4.4# cd orpat/ bash-4.4# ls -a . .. Dockerfile orpat run.sh src bash-4.4# cat Dockerfile FROM golang:1.10.4-alpine3.8 RUN apk --no-cache add ca-certificates RUN apk add --no-cache bash COPY . /go/src/orpat WORKDIR /go/src EXPOSE 8084/tcp RUN chmod -vR 777 /go/src/orpat CMD [ "bash", "run.sh" ] bash-4.4# ./run.sh ./run.sh: line 3: /go/src/orpat/orpat: not found bash-4.4# bash run.sh run.sh: line 3: /go/src/orpat/orpat: No such file or directory bash-4.4# cat run.sh #!/bin/sh SCRIPTPATH=$(cd "$(dirname "$0")"; pwd) "$SCRIPTPATH/orpat" -importPath orpat/ -srcPath "$SCRIPTPATH/src" -runMode prod bash-4.4# 

在conf文件上,我已經

 # The IP address on which to listen. http.addr = [::] # The port on which to listen. http.port = 8084 

有人可以幫我解決這個問題,我正在尋找要部署的exe二進制文件。 因為這是一個只有一頁的最小testapp,所以我停留在我的原始sprint上。

我做這樣的事情:

CGO_ENABLED=0 revel package -m prod -a project

Dockerfile:

# you could do FROM scratch if you really need nothing
FROM alpine:3.10
# add dependencies
RUN apk --no-cache add ca-certificates tzdata
# add the untarred file produced by revel package
ADD project.tar.gz /opt
# whatever port
EXPOSE 8080
# I looked inside run.sh for this
CMD ["/opt/project", "-importPath", "project", "-srcPath", "/opt/src", "-runMode", "prod"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM