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

firewall復習 ansibleコマンドもかねて

CentOS7ではファイアーウォールの設定をfirewallというコマンドで行います。要はportのブロックですね。 以前下記リンクでもfirewallについて書いたんですが、あまり理解もできていなか …

no image

セッションとクッキーについて

セッションとクッキーについての違いを整理しておこうと思います。 Contents1 そもそものHTTPプロトコルについて2 ステートフルな状態を実現するために2.1 方法1 クライアント側で情報を保持 …

no image

vagrant share

実はvagrantを使って仮想環境を一時的ではありますが、webから見ることができます。 1 まずはhttps://atlas.hashicorp.com/account/newにてアカウント登録。そ …

no image

環境変数の扱いについて

環境変数の扱いについてのメモ Contents1 .env.prodなど本番用のものをgitに入れておいてコピー2 S3などのストレージに入れておいて引っ張ってくる3 PaaSに登録4 SysteMa …

no image

jenkinsでのSSH鍵認証&herokuからのソース取得

jenkinsでGitからソースを取得するときに鍵認証をかけている場合はそれ用の設定が必要になります。 基本的な考え方ですが、userがjenkinsだったときに、ssh鍵認証やherokuでどのよう …

アーカイブ