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

ansibleでのインストール

ansibleについてのメモなど。 Contents1 ansibleって何?2 インストール前準備3 ansibleインストール4 SSH鍵登録5 具体的なソフトウェアのインストール6 参考リンク& …

no image

SAM(AWSのサーバーレスフレームワーク)について

LambdaやAPIGatewayをちょこちょこいじってますが、goなどを使っているとローカルでの開発時にはAPIなどと直接連携したりすることはできません。 またデプロイ自体が面倒で画面からポチポチや …

no image

ポート解放(CentOS7)

新サーバー構築をしていたときにwebサーバーとしてnginxを立てましたが、外部から接続ができません。 500エラーすら吐かれず、ログも残っていません。 こんな時はホスト自体にアクセスが届いていない可 …

no image

clamAV

ウイルスソフトclamAVのインストールと使用法について Contents1 インストール1.1 CentOS61.2 CentOS72 スキャン実行の設定に関して インストール CentOS6 [c …

no image

Apacheでのリバースプロキシ

jenkinsの復習をしていたんですが、持ってたVPSサーバーにjenkins環境を構築、jenkinsのURLをサブドメインにし、アクセスした時に別ポートに飛ばす仕様にしました。 前提条件として下記 …

アーカイブ