金融其它Docker

docker mono

求助,docker  mono问题,我的过程是这样:这是我的dockerfile:#monoFROM          docker.io/asqar/centos-mono:latestMAINTAINER    YD Mr.Wang RUN           touch /mono.logA...显示全部
求助,docker  mono问题,我的过程是这样:这是我的dockerfile:
#mono
FROM          docker.io/asqar/centos-mono:latest
MAINTAINER    YD Mr.Wang
RUN           touch /mono.log
ADD           Release  /root/Release
ADD           mono.sh  /root/
EXPOSE       8889
CMD          /root/mono.sh && tail -f /mono.log


这是我的mono.sh:
#!/bin/bash
/usr/bin/mono-service  /root/Release/Mfg.Resource.ApiServer.exe > /mono.log 2>&1



然后我创建镜像成功,启动容器也成功
[root@mysql7 jianhaodemono]# docker build -t mono/service .
Removing intermediate container f3992a2caaee
Step 6 : CMD /root/mono.sh && tail -f /mono.log
---> Running in 5c6eeed93fac
---> cafc46df21ee
INFO[518186] -job build() = OK (0)                        
Removing intermediate container 5c6eeed93fac
Successfully built cafc46df21ee
[root@mysql7 jianhaodemono]# docker images
INFO[518191] GET /v1.18/images/json                       
INFO[518191] +job images()                                
INFO[518191] -job images() = OK (0)                       
REPOSITORY                    TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
mono/service                  latest              cafc46df21ee        6 seconds ago       672.2 MB


[root@mysql7 jianhaodemono]# docker run -idt -p 8889:8889 --name monoservice1 mono/service

[root@mysql7 jianhaodemono]# docker ps
INFO[518490] GET /v1.18/containers/json                  
INFO[518490] +job containers()                           
INFO[518490] -job containers() = OK (0)                  
CONTAINER ID        IMAGE                     COMMAND                CREATED             STATUS              PORTS                     NAMES
86a4d79d6926        mono/service:latest       "/bin/sh -c '/root/m   4 seconds ago       Up 2 seconds        0.0.0.0:8889->8889/tcp    monoservice1


然后产看端口,也没问题。我在外面telnet测试也没问题,进到容器里面看也没问题
[root@86a4d79d6926 ~]# ps aux     容器里面
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  11604  1336 ?        Ss+  01:43   0:00 /bin/sh -c /root/mono.sh && tail -f /mono.log
root         7  0.2  2.1 473460 22072 ?        Sl+  01:43   0:00 /usr/bin/mono /usr/lib/mono/4.5/mono-service.exe /root/Release/Mfg.Resource.ApiServer.exe      这是服务
root         8  0.0  0.0   4348   356 ?        S+   01:43   0:00 tail -f /mono.log
root        15  1.0  0.1  11720  1840 ?        Ss   01:45   0:00 /bin/bash
root        31  0.0  0.1  19764  1228 ?        R+   01:45   0:00 ps aux




现在问题来了,, 我将这个容器stop,然后在start,容器是成功启动的,但是服务却起不来了。。。

[root@mysql7 jianhaodemono]# docker stop 86a4d79d6926   停止
INFO[518746] -job stop(86a4d79d6926) = OK (0)            
86a4d79d6926


查看端口也没了,


[root@mysql7 jianhaodemono]# docker start 86a4d79d6926   现在启动
INFO[518793] -job start(86a4d79d6926) = OK (0)            
2015/08/24 09:48:30 http: multiple response.WriteHeader calls
86a4d79d6926


查看端口,端口也有
[root@mysql7 jianhaodemono]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      951/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2198/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      2187/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      951/sshd            
tcp6       0      0 :::32792                :::*                    LISTEN      41041/docker-proxy  
tcp6       0      0 :::8889                 :::*                    LISTEN      45261/docker-proxy  
tcp6       0      0 ::1:25                  :::*                    LISTEN      2198/master         
tcp6       0      0 :::32768                :::*                    LISTEN      4242/docker-proxy  



但是我在外面telnet连接就连接不上了,
我进入容器查看
[root@86a4d79d6926 ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  11604  1340 ?        Ss+  01:48   0:00 /bin/sh -c /root/mono.sh && tail -f /mono.log
root         8  0.0  0.0   4348   356 ?        S+   01:48   0:00 tail -f /mono.log
root        10  0.2  0.1  11720  1848 ?        Ss   01:49   0:00 /bin/bash
root        26  0.0  0.1  19764  1224 ?        R+   01:49   0:00 ps aux


发现没有那个服务的进程了,而且,这时候在容器里面手动也启动不了,。。。

容器里面产看mono日志  
[root@86a4d79d6926 ~]# cat /mono.log    没有任何日志

退出容器之后,查看容器日志:
[root@mysql7 jianhaodemono]# docker logs 86a4d79d6926
INFO[518914] GET /v1.18/containers/86a4d79d6926/json      
INFO[518914] +job container_inspect(86a4d79d6926)         
INFO[518914] -job container_inspect(86a4d79d6926) = OK (0)
INFO[518914] GET /v1.18/containers/86a4d79d6926/logs?stderr=1&stdout=1&tail=all
INFO[518914] +job container_inspect(86a4d79d6926)         
INFO[518914] -job container_inspect(86a4d79d6926) = OK (0)
INFO[518914] +job logs(86a4d79d6926)                     
INFO[518914] -job logs(86a4d79d6926) = OK (0)



整个过程就是这样。。。求大神解决!!收起
参与7

查看其它 2 个回答老健的回答

老健老健系统运维工程师云学时代
脚本权限是有的
    [root@mysql7 jianhaodemono]# docker start -a 86a4d79d6926
INFO[521446] GET /v1.18/containers/86a4d79d6926/json      
INFO[521446] +job container_inspect(86a4d79d6926)         
INFO[521446] -job container_inspect(86a4d79d6926) = OK (0)
INFO[521446] POST /v1.18/containers/86a4d79d6926/attach?stderr=1&stdout=1&stream=1
INFO[521446] +job container_inspect(86a4d79d6926)         
INFO[521446] -job container_inspect(86a4d79d6926) = OK (0)
INFO[521446] +job attach(86a4d79d6926)                    
INFO[521446] POST /v1.18/containers/86a4d79d6926/start   
INFO[521446] +job start(86a4d79d6926)                     
INFO[521446] +job allocate_interface(86a4d79d6926d6ec18248ad5b2f7e3bd1e5d9be7d2534a8133ac10d0ab610d7a)
INFO[521446] -job allocate_interface(86a4d79d6926d6ec18248ad5b2f7e3bd1e5d9be7d2534a8133ac10d0ab610d7a) = OK (0)
INFO[521446] +job allocate_port(86a4d79d6926d6ec18248ad5b2f7e3bd1e5d9be7d2534a8133ac10d0ab610d7a)
INFO[521446] -job allocate_port(86a4d79d6926d6ec18248ad5b2f7e3bd1e5d9be7d2534a8133ac10d0ab610d7a) = OK (0)
INFO[521446] +job log(start, 86a4d79d6926d6ec18248ad5b2f7e3bd1e5d9be7d2534a8133ac10d0ab610d7a, mono/service:latest)
INFO[521446] -job log(start, 86a4d79d6926d6ec18248ad5b2f7e3bd1e5d9be7d2534a8133ac10d0ab610d7a, mono/service:latest) = OK (0)
INFO[521446] -job start(86a4d79d6926) = OK (0)            
2015/08/24 10:32:43 http: multiple response.WriteHeader calls
INFO[521446] POST /v1.18/containers/86a4d79d6926/resize?h=34&w=162
INFO[521446] +job resize(86a4d79d6926, 34, 162)           
INFO[521446] -job resize(86a4d79d6926, 34, 162) = OK (0)  在这里不动了
^C[root@mysql7 jianhaodemono]# ^C  只能ctrl  c  
[root@mysql7 jianhaodemono]# ^C
金融其它 · 2015-08-24
浏览1379

回答者

老健
系统运维工程师云学时代
擅长领域: Docker云计算容器引擎

老健 最近回答过的问题

回答状态

  • 发布时间:2015-08-24
  • 关注会员:2 人
  • 回答浏览:1379
  • X社区推广