docker-compose からは run じゃなくて up
docker-compose から run したあと、stopできずに悩んだ。
$ docker-compose run -d mosquitto $ docker-compose stop mosquitto # ← エラー出さないので受け付けてるようにみえる $ docker-compose ps Name Command State Ports -------------------------------------------------------------------------- mosquitto_mosquitto_run_1 /usr/sbin/mosquitto -c /et ... Up $ # 止まってない。。。
この場合、docker ps -a でコンテナID調べて直接stopさせるしかない?
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES accb9df6017d mosquitto_mosquitto "/usr/sbin/mosquitto " 2 minutes ago Up 2 minutes mosquitto_mosquitto_run_1 $ docker stop accb9df6017d accb9df6017d $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES accb9df6017d mosquitto_mosquitto "/usr/sbin/mosquitto " 3 minutes ago Exited (0) 11 seconds ago mosquitto_mosquitto_run_1
docker-compose up で起動するのが正解。
$ docker-compose up -d Starting mosquitto_mosquitto_1 $ docker-compose ps Name Command State Ports --------------------------------------------------------------------------------------- mosquitto_mosquitto_1 /usr/sbin/mosquitto -c /et ... Up 0.0.0.0:1883->1883/tcp $ docker-compose stop Stopping mosquitto_mosquitto_1 ... done $ docker-compose ps Name Command State Ports ----------------------------------------------------------------------- mosquitto_mosquitto_1 /usr/sbin/mosquitto -c /et ... Exit 0