我在我的Mac上尝试使用1.12的docker swarm。我启动了3个VirtualBox虚拟机,创建了一个3的swarm集群。
docker@redis1:~$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
2h1m8equ5w5beetbq3go56ebl redis3 Ready Active
8xubu8g7pzjvo34qdtqxeqjlj redis2 Ready Active Reachable
cbi0lyekxmp0o09j5hx48u7vm * redis1 Ready Active Leader
但是,当我创建服务时,我看到没有错误,但副本总是显示0/1:
docker@redis1:~$ docker service create --replicas 1 --name hello ubuntu:latest /bin/bash
76kvrcvnz6kdhsmzmug6jgnjv
docker@redis1:~$ docker service ls
ID NAME REPLICAS IMAGE COMMAND
76kvrcvnz6kd hello 0/1 ubuntu:latest /bin/bash
docker@redis1:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
可能是什么问题?我在哪里寻找原木? 谢谢!
答案 0 :(得分:26)
问题是你的任务(调用bin / bash)很快就会退出,因为它没有做任何事情。
如果您查看服务的任务,您将看到一个已启动,然后在几秒钟内关闭。然后启动另一个,关闭等等,因为您被要求始终运行一个任务。
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(action.equalsIgnoreCase(ACTION_POWER_CONNECTED))
{
if(chargerConnected != null )
{
chargerConnected.setText("Cable Connected");
}
if(chargerImage != null )
{
chargerImage.setImageDrawable(getResources().getDrawable(R.drawable.usb));
}
}else if(action.equalsIgnoreCase(ACTION_POWER_DISCONNECTED))
{
if(chargerConnected != null )
{
chargerConnected.setText("NOT CHARGE");
}
if(chargerImage != null )
{
chargerImage.setImageDrawable(getResources().getDrawable(R.drawable.battery_icon));
}
try {
Toast.makeText(context, "Power Cable Disconnected", Toast.LENGTH_SHORT).show();
}catch (Exception e){e.printStackTrace();}
}
}
};
例如,如果您使用docker service ps hello
,则任务将保持运行。
答案 1 :(得分:0)
如果您在撰写文件中指定了绑定到不存在的本地目录的卷,也会发生这种情况。
答案 2 :(得分:0)
就我而言,这些副本无法正常工作,并且显示了Application.WorksheetFunction.VLookup(Me.txt_ruhsat_no.Value, ThisWorkbook.Sheets("HAKEDİŞ").Range("A:BZ"), 51, 0) = Me.txt_metrekare.Value
,因为我之前没有构建它们。
因此,我决定执行一个full system prune,并在其旁边进行构建和部署(在这里,我的堆栈称为docker-compose.yml
,并且之前没有运行任何服务或容器):
demo
此后,一切都已启动并运行,现在服务副本已成群结队
docker stack rm demo
docker system prune --all
docker-compose build
docker stack deploy -c ./docker-compose.yml demo
目前,我在开发人员模式下保持副本工作的方式:
Angular / CLi应用:
PS C:\Users\Alejandro\demo> docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
oi0ngcmv0v29 demo_appweb replicated 2/2 webapp:1.0 *:80->4200/tcp
ahuyj0idz5tv demo_express replicated 2/2 backend:1.0 *:3000->3000/tcp
fll3m9p6qyof demo_fileinspector replicated 1/1 fileinspector:1.0 *:8080->8080/tcp
NodeJS后端(快速)
command: >
bash -c "npm install && ng serve --host 0.0.0.0 --port 4200"