skillup

技術ブログ

サーバー・ネットワーク

dockerコマンドについて再考(ttyや/bin/bashなど)

投稿日:2019年12月30日 更新日:

ttyオプションに関して

dockerでnodeを起動させるときに docker-compose up -d で通常起動させようとすると、立ち上がらず、nodeを含んだコンテナが使えません。

そこで下記の様にttyというオプションを入れると、無事に起動することができました。

調べてみると、docker run時の-tオプションに相当し、これがないと基本コンテナが終了してしまうため、基本的にtrueで使う様です。

apacheやmysqlなどはこのオプションがなくてもコンテナが立ち上がっているんですけどね・・・要調査です。

docker execコマンドに関して

ログインしないパターン

docker exexを使う場合、 docker exec -it コンテナ名 /bin/bash の様にログインして使うケースが多かったのですが、ログインしないで使うこともできます。-itオプションやシェルを使っているので、ログインできていますが、例えば

docker exec コンテナ名 node -v の様にうてばコンテナ内でコマンドを打った時と同じ挙動をします。基本的な、インストールだけならこれでいいかもしれませんね・・・

shellに関して

起動しているコンテナにログインするとき、

docker exec -it コンテナ名 /bin/bash の様に打ちますが、 /bin/bash 部分はコンテナ内のshellになります。

使用するshellの一覧は cat /etc/shells などで確認できます。

docker execを使う場合、だいたい /bin/bash が多いかと思いますが、alpineなどの軽量コンテナの場合、 /bin/bash が入っていない様で /bin/sh などを使う様です。

 

 

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

FastCGIに関して

nginxについて学習してきましたが、今回はphp-fpmについてです。 Contents1 そもそもの構成2 CGIのメカニズム3 FastCGI4 nginxでの設定に関して4.1 fastcgi …

no image

rewriteディレクティブ

リクエストURIを条件に応じて書き換えたり、リダイレクトする機能を使うときはrewriteを使います。こちら非常によく使う機能です。 具体的な例を見ていきましょう。 [crayon-6622b88d0 …

no image

大規模Webサービス技術入門 イントロ

一応WEBサービスを日々改修していますが、データが日々ふえ、大規模なサービスの対処法などを勉強する必要があるため、「大規模サービス技術入門」を少しずつ読んでいこうと思います。 ポイント データはディス …

no image

ECSについて

AWSでwebアプリを立ち上げる場合、基本的にはEC2+RDS(小規模な場合は使わないケースもあるかも・・)+アルファの構成が多いと思うのですが、Dockerでコンテナイメージをもっていれば、コンテナ …

no image

Python+cgiでwebアプリを動かすまで

PythonでRESTAPI的なプログラムを作った時のメモ。 あまりCGIで実行する人がいないようで、情報がそこまでありませんでしたが、Perlでやった経験もあり、動かせました。 Contents1 …

アーカイブ