我有一个EC2实例,其中包含以下docker镜像:
REPOSITORY TAG IMAGE ID
grant/docker-app hookedup b99f4ad
在我的本地机器上,我一直在使用
docker-compose build
和docker-compose up
来启动服务器。我该如何在EC2实例上运行镜像?
我使用Amazon Linux AMI登录AWS。我已经在其中安装了docker和docker-compose。我可以看到镜像,但不知道如何启动它。
Docker仓库在hub.docker.com上。我从那里拉取了它。
我尝试过:
docker run -d -p 5000:5000 grant/docker-app:hookedup
这段代码输出了一些字符串:cdf4c4035e0...30b4d0881d635ecdac6f3
我还尝试过:
docker-compose build grant/docker-app:hookedup
这段文本的含义是:在当前目录或其它目录下找不到合适的配置文件。
我还尝试了其他方法:
docker run --rm -p 3000:3000 grantspilsbury/docker-app:hookedup
这将产生以下输出:
> docker-sample-app@0.1.0 start /usr/src/app
> react-scripts start
Could not find a required file.
Name: index.html
Searched in: /usr/src/app/public
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! docker-sample-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
如果我运行docker ps或docker ps -a,我会得到以下输出:
[ec2-user@ip-172...-26 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[ec2-user@ip-172...-26 ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ca69ff467bc grant/docker-app:hookedup "npm start" 24 minutes ago Exited (1) 24 minutes ago happy_archimedes
2a01050f3bb6 grant/docker-app:hookedup "npm start" About an hour ago Exited (1) About an hour ago wonderful_rosalind
如果我运行命令docker logs 0ca69ff467bc,将会输出以下内容:
Could not find a required file.
Name: index.html
Searched in: /usr/src/app/public
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! docker-sample-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the docker-sample-app@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-01-27T03_35_55_030Z-debug.log
run -d
是在分离模式下运行 - 您看到的字符串是该容器的唯一标识符。如果您执行docker ps
(或docker ps -a
以查看正在运行和停止的容器),您是否看到任何内容? - MrDukdocker logs 0ca69ff467bc
的输出吗? - MrDuk