same here, after every update they want us to suffer, to find a pass to buddhism
Dockerの名前解決
最終手段はimageの全削除か。。。
docker rmi -f imagename
docker image prune
Dockerの名前解決
こんなエラーがdockerから出る
Cannot stop Docker Compose application. Reason: Command failed: docker-compose --project-directory "/Users/y_ono/uims/uims-test" stop The Compose file './docker-compose.yml' is invalid because: services.cucumber.build.args contains ["test:127.2.3.4"], which is an invalid type, it should be a string, number, or a null
これはdocker-compose.ymlのホストとコンテナの名前解決を図るために
docker-compose.ymlに
ext_host
と/private/etc/hosts
に
127.2.3.4 test
をうめこみ。
- コンテナ内の
/etc/hosts
のみがコンテナ内での名前解決に影響する- コンテナの外(ホスト)の
/etc/hosts
は無関係
- コンテナの外(ホスト)の
- curl や ping は
/etc/hosts
の設定が反映されるが、 nslookup や dig は/etc/hosts
を見ない - コンテナ内の
/etc/hosts
への設定は docker の機能で可能 - docker-compose の
extra_hosts
設定 - docker の
--add-host
パラメータ
host.docker.internal
というDNS名が用意されているので、それを利用すればよさそうです。
ドキュメントによるとMac/Windowsで利用できそうです。
Networking features in Docker Desktop for Windows | Docker Documentation
https://docs.docker.com/docker-for-windows/networking/
The host has a changing IP address (or none if you have no network access). From 18.03 onwards our recommendation is to connect to the special DNS name host.docker.internal, which resolves to the internal IP address used by the host. This is for development purpose and will not work in a production environment outside of Docker Desktop for Windows.
(Google翻訳)ホストのIPアドレスは変更されています(ネットワークアクセスがない場合はなし)。18.03以降では、ホストが使用する内部IPアドレスに解決される特別なDNS名host.docker.internalに接続することをお勧めします。 開発目的のためであり、Docker Desktop for Windows以外の実稼働環境では機能しません。
Networking features in Docker Desktop for Mac | Docker Documentation
https://docs.docker.com/docker-for-mac/networking/
The host has a changing IP address (or none if you have no network access). From 18.03 onwards our recommendation is to connect to the special DNS name host.docker.internal, which resolves to the internal IP address used by the host. This is for development purpose and will not work in a production environment outside of Docker Desktop for Mac.
(Google翻訳)ホストのIPアドレスは変更されています(ネットワークアクセスがない場合はなし)。 18.03以降では、ホストが使用する内部IPアドレスに解決される特別なDNS名host.docker.internalに接続することをお勧めします。 これは開発用であり、Docker Desktop for Mac以外の運用環境では動作しません。
https://qiita.com/tksugimoto/items/804e0051bf1b1ddab168
https://qiita.com/kai_kou/items/5182965ea75c85cf1e3f
https://github.com/docker/for-win/issues/2402
https://docs.docker.com/docker-for-mac/networking/
https://dev.to/natterstefan/docker-tip-how-to-get-host-s-ip-address-inside-a-docker-container-5anh
https://qiita.com/jagaximo/items/6b71a03518bbd53d4de6
^^^^^^^^
~~
--shm-size=128m
解決策はまったく同じでしたが(RAMを増やす)、結果はまだ満足のいくものではありませんでした。
~~
古い質問ですが、同様の問題が私を狂気に駆り立てたので、私の解決策を共有しました:
DockerイメージのChromeインストールを古いバージョンからChrome86に更新すると、このエラーが発生しました。私のセットアップは同じではありませんでしたが、SeleniumWebドライバーを介してChromeをインスタンス化していました。
解決策は、オプションをchromeOptionsハッシュではなくgoog:chromeOptionsハッシュとして渡すことでした。これがSelenium、Chrome、Chromedriver、またはその他のアップデートであるかどうかは本当にわかりませんが、将来、この回答に慰めが見つかるかもしれません。
Chromedriverの変更...link
~~
caps = Selenium::WebDriver::Remote::Capabilities.chrome( "goog:chromeOptions" => {"args" => [ "window-size=1000,800" ]}) driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
- ローカルでの実行とjenkins実行では、エラー数が違う、ということで良い?
- で、jenkinsではsession id clashの事象である、と。
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized"); // open Browser in maximized mode
options.addArguments("disable-infobars"); // disabling infobars
options.addArguments("--disable-extensions"); // disabling extensions
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("--no-sandbox"); // Bypass OS security model
WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");