Linux / ubuntuサーバーシステムのプロキシの背後でDockerを実行しようとしています。ボックスにすべてのプロキシ(FTP / HTTPS / HTTP)を設定し、ここに記載されているDockerプロキシも設定しました。https://docs.docker.com/config/daemon/systemd/#httphttps-proxyそしてhttps://stackoverflow.com/a/28093517/4261713
ところで、コンピュータの起動時に自動的にドッカーサービスが起動するように設定しましたが、コンピュータにログインして実行しないと、sudo service docker restart
この設定は無視され、ドッカーがエージェントを使用できなくなります。みんな大丈夫です。ローカルアクセスには回避策がありますが、自動化されたビルド/デプロイなどを使用してこのコンピュータをリモートで使用する必要があります。そのため、コマンドを実行せずにビルドが中断されます。
私が試したこと:
/etc/systemd/system/docker.service.dにhttp-proxy.confを作成し、プロキシ用の環境変数を作成しました。
"DOCKER_OPTS"
topに変数を追加してdockerサービスのinit.dファイルを変更してみました-e "HTTP_PROXY=http://addressofproxy:portofproxy" -e "HTTPS_PROXY=http://addressofproxy:portofproxy"
が、違いはありませんでした。再起動後もサービスを再起動する必要がありました!~/.docker/config.json
また、プロキシを含めるようにクライアント構成を設定/構成しました。
インストールする
Dockerはsudo apt-get install docker.io
コマンドラインを使用してインストールされ、ソースからビルドされません。
ホストとバージョン情報:
Ubuntuバージョン(
lsb_release -a
)No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic
ドッカーバージョン(
docker --version
)Docker version 18.06.1-ce, build e68fc7a
インストール済みパッケージ(
sudo apt list --installed | grep docker
):docker.io/bionic-updates,bionic-security,now 18.06.1-0ubuntu1.2~18.04.1 amd64
答え1
次のようなdocker-compose yamlファイルで制御されるdockerコンテナセットがあります。
version: '3'
services:
nodejs-admin:
image: ${GKE_APP_IMAGE_ADMIN}
hostname: admin
container_name: loud_admin
restart: always
... more tags go here
上記には、再起動時に開始する必要があるすべてのコンテナがリストされています。上記のラベルを参照してください。
restart: always
すべてのコンテナの問題を解決するために、システムの再起動時にDockerにこれらのコンテナを再起動するように指示します。
docker-compose -f /somepath/docker-compose.yml down
コンテナ起動の問題
docker-compose -f /somepath/docker-compose.yml pull imageA imageB
docker-compose -f /somepath/docker-compose.yml up -d
答え2
これでこの問題を発見して解決しました。 18.04 Ubuntuサーバーでは、「Snap」パッケージマネージャが使用されていることがわかりました。また、デフォルトではdockerがインストールされています。
問題は冗長インストールでした。つまり、スナップインストールドッカーをインストールし、適切なパッケージマネージャを介してドッカーをインストールしました。スナップドッカーのインストールを削除すると、再起動時にすべてが期待どおりに機能しました。
愚かな質問ですが、後で他の人に役立つことを願っています。