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

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。 思ってたよりは楽だったかな・・・ Contents1 準備2 実際の移行(git svn clone)3 gi …

no image

ECSについて

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

no image

ネットワーク基礎 OSI参照モデルなど

ここ↓でネットワークの基礎についてかいてあるので定期的に勉強しようと思っています。 3分間 NetWorking Contents1 スニーカーネットからリソース共有2 LANとWAN3 OSI参照モ …

no image

pythonのアップグレードに関して

pythonのアップグレードに関して。 python2.6だとpipがインストールされていないのですが、入れようとしてハマったのでメモ。 一般的なインストール方法ですが、下記のようになります。 [cr …

no image

AWSセキュリティグループについて

AWSのセキュリティグループに関して。 AWSには標準でセキュリティグループという概念があり、それぞれのインスタンスに対して、アクセスするパケットをポート番号で制御でき、この定義をセキュリティグループ …