こんなエラーが出たとき
E: The method driver /usr/lib/apt/methods/https could not be found.
apt-transport-https
を入れると解決します。
RUN apt-get update && apt-get install apt-transport-https -y
オープンソースの情報をわかりやすく
こんなエラーが出たとき
E: The method driver /usr/lib/apt/methods/https could not be found.
apt-transport-https
を入れると解決します。
RUN apt-get update && apt-get install apt-transport-https -y
docker-compose up -d
でコンテナを起動した後、docker-compose ps
を確認するとrestartingとなっていることがあります。
そんなときに見直すべきところを書いてみます。
デバッグのために、まずはdocker-compose.ymlに書いているrestart: always
を削除します。
独自で作っているコンテナを終了させないためにはbash
を実行するのが手っ取り早いです。
DockerfileのCMDのコマンドを以下に置き換えます。
CMD /bin/bash
そして、docker-compose.yml
にtty:true
を入れておきます。
これがないとexit 0
になるので注意です。
tty: true
DockerでCentOS7を設定した時にrsyslogが動いてなくてはまりました。
そのときに行ったメモです。
そもそもrsysogが入ってませんでした。
yum install rsyslog
systemctl
が使えないので手動で起動させます。
起動はこれだけでOK。
rsyslogd
終了するときはPIDを調べます。
ps -C rsyslogd
調べたpidを入れてkillします。
kill -TERM pid
containerには余分なものが入っていないので、設定をシンプルにしなければなりません。
対象のファイルは以下の2つ。
/etc/rsyslog.conf
/etc/rsyslog.d/listen.conf
rsyslog.confを次のように変更します。
$ModLoad imuxsock
# $ModLoad imjournal
$OmitLocalLogging off
# $IMJournalStateFile imjournal.state
listen.confをコメントアウトします。
# $SystemLogSocketName /run/systemd/journal/syslog
設定ができたら、上記のコマンドで再起動します。
動作確認にはloggerコマンドが便利です。
logger "test"
cat /var/log/messages
docker-compose ps
Nameがすごいことになってるゴミコンテナが残ってました。
Name Command State Ports
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_ubuntu /bin/sh -c /bin/bash Exit 137
削除したら無事に起動できました。
docker-compose rm
Dockerの公式サイトに沿ってチュートリアルをやってみましょう。