我想在Debian官方Docker hub存储库派生的docker容器中执行ps命令:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Run Code Online (Sandbox Code Playgroud) docker-compose.yml中定义了一系列服务.这些服务已经开始.我只需要重建其中一个并在没有其他服务的情况下启动它.我运行以下命令:
docker-compose up -d # run all services
docker-compose stop nginx # stop only one. but it still running !!!
docker-compose build --no-cache nginx
docker-compose up -d --no-deps # link nginx to other services
Run Code Online (Sandbox Code Playgroud)
最后我得到了旧的nginx容器.顺便说一句,docker-compose不会杀死所有正在运行的容器!
我在Docker容器中的服务器上有Postgresql.如何从外部(即从我的本地计算机)连接到它?我应该采用什么设置才能允许?
有没有办法确定进程(脚本)是否在lxc容器(~Docker运行时)内运行?我知道有些程序能够检测它们是否在虚拟机内运行,是否类似于lxc/docker?
在我,Dockerfile
我有:
ADD ../../myapp.war /opt/tomcat7/webapps/
Run Code Online (Sandbox Code Playgroud)
该文件存在,因为ls ../../myapp.war
返回正确的文件,但当我执行时,sudo docker build -t myapp .
我有:
Step 1 : ADD ../../myapp.war /opt/tomcat7/webapps/
2014/07/02 19:18:09 ../../myapp.war: no such file or directory
Run Code Online (Sandbox Code Playgroud)
有人知道为什么以及如何正确地做到这一点?
我有一个Dockerfile来安装MySQL服务器在一个容器中,然后我这样开始:
sudo docker run -t -i 09d18b9a12be /bin/bash
Run Code Online (Sandbox Code Playgroud)
但MySQL服务不会自动启动,我必须手动运行(从容器内):
service mysql start
Run Code Online (Sandbox Code Playgroud)
运行docker容器时如何自动启动MySQL服务?
我和Docker一起玩了几天,我已经制作了一些图像(非常有趣!).现在我想坚持我的工作,来到save
和export
命令,但我不完全理解他们.
save
和export
Docker有什么区别?
我对所有这些都比较陌生,但我在列出的技术中找到了清晰的画面.
虽然,所有这些都试图解决不同的问题,但也有共同点.我想了解哪些是常见的,哪些是不同的.少数人的组合很可能非常适合,如果是这样的话,他们是什么?
我列出了其中的一些以及问题,但如果有人详细列出所有问题并回答问题,那将会很棒.
Kubernetes vs Mesos:
这个链接
提供了很好的洞察力差异,但我无法理解为什么Kubernetes应该运行在Mesos之上.两个开源解决方案的结合更多的是什么?
Kubernetes vs Core-OS Fleet:
如果我使用kubernetes,是否需要车队?
Docker-Swarm如何适应上述所有内容?
我正在尝试将docker镜像推送到Amazon ECR注册表.我正在使用docker客户端Docker版本1.9.1,构建a34a1d5.我使用"aws ecr get-login --region us-east-1"来获取docker登录信息.然后,我成功登录这些信用如下:
docker login -u AWS -p XXXX -e none https://####.dkr.ecr.us-east-1.amazonaws.com
WARNING: login credentials saved in /Users/ar/.docker/config.json
Login Succeeded
Run Code Online (Sandbox Code Playgroud)
但是当我尝试推送我的图像时,我收到以下错误:
$ docker push ####.dkr.ecr.us-east-1.amazonaws.com/image:latest
The push refers to a repository [####.dkr.ecr.us-east-1.amazonaws.com/image] (len: 1)
bcff5e7e3c7c: Preparing
Post https://####.dkr.ecr.us-east-1.amazonaws.com/v2/image/blobs/uploads/: no basic auth credentials
Run Code Online (Sandbox Code Playgroud)
我确保aws用户拥有正确的权限.我还确保存储库允许该用户推送它.为了确保这不是问题,我将注册表设置为允许所有用户完全访问.没有任何更改"无基本身份验证凭据"错误.由于所有流量都已加密,我不知道如何开始调试.
UPDATE
所以当我意识到问题的根本原因时,我有一点荷马辛普森D'哦.我可以访问多个AWS账户.即使我使用aws configure为我设置存储库的帐户设置我的凭据,但aws cli实际上使用的是环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY.因此,当我执行aws ecr get-login时,它返回了错误帐户的登录信息.我没注意到帐号是不同的,直到我现在回去尝试一些建议的答案.当我删除环境变量时,一切正常.我想故事的座右铭是,如果您遇到此错误,请确保您登录的存储库与您应用于图像的标记相匹配.
我从openjdk创建了一个docker镜像:8-jdk-alpine但是当我尝试执行简单的命令时,我得到以下错误:
RUN bash
/bin/sh: bash: not found
RUN ./gradlew build
env: can't execute 'bash': No such file or directory
Run Code Online (Sandbox Code Playgroud) docker ×10
bash ×2
alpine-linux ×1
aws-ecr ×1
coreos ×1
debian ×1
dockerfile ×1
kubernetes ×1
linux ×1
mesosphere ×1
postgresql ×1