Chromeを更新したら新しいタブのよく使うサイトのサムネイルが表示されなくなったのを復活する方法。
先日、Chromeが自動更新されてUIが変わりました。
それは別によかったんですが、新しいタブのよく使うサイトがアイコン表示に変わってしまいました。
最初はあんまり関係ないかと思って使っていたのですが、意外とサムネイルがないと不便ということが。。
無意識的にたぶん文字を読まずに視覚的に判断してたんですね。
で、復活させる方法がないか、海外のサイトを探しまくったところありました。
以下の4つの操作を行うことで復活可能なので困っている方はお試しください。
アドレスバーに「chrome://flags」をいれてEnterキー
設定画面に飛びます。
検索ボックスに「Enable using the Google local NTP」を入れてEnabledに変更
なぜNTPが?とおもったらNew Tab Pageのことっぽいですね。
Default→Enabledにします。
検索ボックスに「New Tab Page Material Design Icons」を入れてDisabledに変更
こっちだけでいけると思ったけどNTPのほうも変更する必要があります。
Default→Disabledにします。
Chromeを再起動
特に設定を保存するボタンとかはないのでそのまま再起動で問題ないです。
右下に現れる「RELAUNCH NOW」ボタンをクリックで再起動されます。
これで復活したと思います。
Windows10上のVM(CentOS)にDockerをいれてどんなものか体感する手順。
※この記事の方法は古いため、新しい方法で書き直しました。
--
Dockerについて前々から気になっていたのでWindows10にDockerをいれてどんなものなのか体感するまでの
手順を書きたいと思います。Window10でやってますが、別にVirtualBoxが入ればWindows10でなくても問題ないです。
はじめに書いておきますが、わりと簡単に体感できます。
Linuxとかに慣れているひとであれば1hourくらいで体感できるのではないでしょうか。
- Dockerとは?
- Oracle VirtualBoxをインストール
- CentOSをダウンロード
- 仮想マシンを作成
- 仮想マシンを起動してCentOSをインストール
- RLoginをダウンロード
- RLoginでCentOSに接続
- Dockerをインストール
- Dockerを起動
- DockerでWEBサーバを構築
- WEBサーバの起動を確認
- DockerをGUIで操作
- 最後に
まず、基本的にDockerはLinux上で動作するものということなのでLinuxをVMにいれます。
Windows版もあるみたいですがHyper-Vとか必要っぽいので。
Dockerとは?
Dockerに興味があるひとがこの記事にたどり着いていると思うので説明不要だと思いますが、簡単に言えば仮想サーバ構築ツールです。
VMと異なるのはサーバごとにOSのインストールは不要で、1つのサーバ上に複数のサーバの構築ができます。
構築したサーバはイメージ化して配布できるので誰がやっても同じ環境が構築できます。
また、各種サーバアプリのイメージが公開されており、コマンド1つで構築可能です。
僕はインフラ周りはあまりやらないのですが、テスト環境構築とかで使えるのではないでしょうか。
Oracle VirtualBoxをインストール
VMはなんでもいいんですが、使い慣れているVirtualBoxをインストールします。
特に何も注意すべきところはないのでインストーラを次へ次へでOKです。
CentOSをダウンロード
Linuxもなんでもいいんですが、RedHat系で人気のあるCentOS 7をダウンロードします。
以下のサイトからMininal ISOをダウンロードしてください。
仮想マシンを作成
VirtualBoxを起動して、新規を選択し、名前にCentOSと入れるとOSが選択されます。
あとはそのまま次へ次へで仮想マシンを作成します。
作成した仮想マシンの設定でネットワークを"NAT"から"ブリッジアダプター"に変更します。
NATでもできなくないですが、ポートフォワードを設定するのがめんどいので。
ブリッジにし忘れると以下のように運が悪いとドハマリします。
仮想マシンを起動してCentOSをインストール
起動したらダウンロードしたISOを指定して、Install CentOS 7を選択します。
あとはGUIなので次へ次へですが、ネットワークはONにしといたほうがよいかもです。
インストール中にrootのパスワードを設定します。
環境にもよりますが、インストールは10minくらいで終わると思います。
再起動してログインできればOKです。
ログインしたら以下のコマンドをたたいてipアドレスを確認します。
以下の例でいうと2:のinetの右横のがipアドレス(10.154.54.86)です。
[root@localhost ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:48:1e:42 brd ff:ff:ff:ff:ff:ff inet 10.154.54.86/24 brd 10.154.54.255 scope global noprefixroute dynamic enp0s3 valid_lft 5420sec preferred_lft 5420sec inet6 fe80::b4fc:2848:14de:b0ca/64 scope link noprefixroute valid_lft forever preferred_lft forever
RLoginをダウンロード
VirtualBoxだとカーソルが持ってかれて使いにくいのでWindowsからCentOSを操作できるように
ターミナルソフトをいれます。なんでもいいですが、インストール不要で使いやすいRLoginを使います。
以下のサイトからダウンロードして任意の場所に解凍します。
rlogin/telnet/ssh(クライアント)ターミナルソフト
RLoginでCentOSに接続
RLogin.exeを起動します。
新規接続でsshを選択して、さきほど確認したipアドレスをいれます。
あとはユーザをroot、パスワードを決めたやつをいれてOKします。
初回接続の際にいろいろ聞かれますが、はいでOK。
Dockerをインストール
いよいよDockerです。RLoginの画面で以下のコマンドを流すだけでインストールされます。
[root@localhost ~]# yum install -y docker
Dockerを起動
起動は以下のコマンドを実行するだけです。
[root@localhost ~]# systemctl start docker
起動しているか確認。active(running)になっていればOK。
[root@localhost ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since 月 2018-09-17 01:48:28 JST; 7s ago Docs: http://docs.docker.com Main PID: 10950 (dockerd-current) CGroup: /system.slice/docker.service ├─10950 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-pat... └─10954 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/... 9月 17 01:48:26 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:26.886529003+09:00" level=info msg="libcontainerd: new containerd process, pid: 10954" 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.049257313+09:00" level=info msg="Graph migration to content-addressability took 0.00 seconds" 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.050844195+09:00" level=info msg="Loading containers: start." 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.070560827+09:00" level=info msg="Firewalld running: true" 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.282047259+09:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0....IP address" 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.479554825+09:00" level=info msg="Loading containers: done." 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.523279502+09:00" level=info msg="Daemon has completed initialization" 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.523307835+09:00" level=info msg="Docker daemon" commit="6e3bb8e/1.13.1" graphdriver=overlay2 version=1.13.1 9月 17 01:48:28 localhost.localdomain systemd[1]: Started Docker Application Container Engine. 9月 17 01:48:28 localhost.localdomain dockerd-current[10950]: time="2018-09-17T01:48:28.538125695+09:00" level=info msg="API listen on /var/run/docker.sock" Hint: Some lines were ellipsized, use -l to show in full.
DockerでWEBサーバを構築
上記までの手順ではDockerのエンジンだけインストールされているのでこっから本領発揮のとこです。
apache webサーバを構築してみます。
Dockerは各種アプリのイメージが公式的に公開されており、そのイメージをダウンロードしてローカルサーバで動かす仕組みとなってます。
どんなイメージがあるかは以下のサイトで確認できると思いますが、RedmineやPostgreSQL、Jenkinsなどわりとなんでもあります。
https://hub.docker.com/explore/
なので以下のコマンドを流すだけで、構築ができてしまいます。
[root@localhost ~]# docker run -d -p 80:80 --name httpd httpd
起動したかは以下のコマンドで、httpdがいればOKです。
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3fc96caa505a httpd "httpd-foreground" 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp httpd
WEBサーバの起動を確認
Windowsからブラウザを起動して、ipアドレスをアドレスバーにいれてたたくと さみしいapacheのサンプル画面がでれば起動しているということです。
DockerをGUIで操作
dockerですが、CUIで操作するのは結構たいへんです。
GUIで操作するツールも用意されています。
これもDockerでいれちゃいます。
[root@localhost ~]# docker run -d -p 8080:8080 --name rancher-server rancher/server
途中でファイアウォールが有効になっているうまくうごかないところがあるので切っておきます。
[root@localhost ~]# systemctl stop firewalld
起動後、Windowsの画面のブラウザからipアドレス:8080でアクセスすると以下の画面が表示されればOKです。
スペックによりますが、起動は1~2minくらいかかります。
デフォルトは英語ですが、右下のところで日本語に変更できます。
まず管理者メニューのアクセスコントロールでLOCALを選択し、管理者を登録します。
その次にインフラストラクチャでホストを選択します。
ホストを追加して保存します。
以下のコマンドをコピー&ペーストし実行しホストを登録します Rancher:と書いてあるのでコマンドをターミナルで流します。
こうすることでサーバとの紐づけ自動で行ってくれます。
# 内容は環境によって異なります。以下は私の環境での例です。 sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://10.154.54.86:8080/v1/scripts/06051ED6561D2F86C07A:1514678400000:UCPy9qbQ1dQ2KCue0CLu076A
あとはホストの画面で見れば、Dockerで動いているもの(コンテナ)が確認できます。
最後に
まだまだ奥が深いDockerですが、ここまでなんとなくDockerについて手軽な感じが伝わったかと思います。
僕もまだまだ勉強中ですが、素敵なDockerライフを。
VM(CentOS)からhttpsで接続をするとなぜかエラーになるとき。(ESETが入っている環境)
Dockerを勉強のために構築していたのですが、https系の接続がことごとくエラーとなってドハマリしたので記録しておきます。
Dockerで普通にpullをしました。
[root@localhost ~]# docker pull httpd Using default tag: latest Trying to pull repository docker.io/library/httpd ... Get https://registry-1.docker.io/v2/: x509: certificate signed by unknown authority
wgetでもだめです。
[root@localhost ~]# wget https://registry-1.docker.io/v2/ --2018-09-16 23:21:05-- https://registry-1.docker.io/v2/ registry-1.docker.io (registry-1.docker.io) をDNSに問いあわせています... 52.54.155.177, 34.233.151.211, 34.206.236.31, ... registry-1.docker.io (registry-1.docker.io)|52.54.155.177|:443 に接続しています... 接続しました。 エラー: registry-1.docker.io の証明書(発行者: `/CN=ESET SSL Filter CA/O=ESET, spol. s r. o./C=SK')の検証に失敗しました: 発行者の権限を検証できませんでした。 registry-1.docker.io に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。
調べて見ると同じように困っている人は多く、以下の2つの場合、エラーになる可能性があるようでした。
- OSにバンドルされている証明証が古い。
# 以下のコマンドを流して最新化する [root@localhost ~]# yum update openssl
- 時刻がずれている。
# 以下のコマンドを流して同期をとる [root@localhost ~]# ntpdate -bv ntp.nict.jp
OSを入れたばかりなのでどちらも問題ないはずと思いつつ、だめもとで試しましたが、だめでした。
次にSSLの動作を確認するコマンド(curl)で確認しました。
[root@localhost ~]# curl -v https://registry-1.docker.io/v2/ * About to connect() to registry-1.docker.io port 443 (#0) * Trying 34.201.236.93... * Connected to registry-1.docker.io (34.201.236.93) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * Server certificate: * subject: CN=*.docker.io * start date: 7月 05 00:00:00 2018 GMT * expire date: 8月 05 12:00:00 2019 GMT * common name: *.docker.io * issuer: C=SK,O="ESET, spol. s r. o.",CN=ESET SSL Filter CA * NSS error -8179 (SEC_ERROR_UNKNOWN_ISSUER) * Peer's Certificate issuer is not recognized. * Closing connection 0 curl: (60) Peer's Certificate issuer is not recognized. More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.
ではほかのサイトもどうなのかとgoogleで確認してみました。
[root@localhost ~]# curl -v https://google.com/ * About to connect() to google.com port 443 (#0) * Trying 216.58.197.174... * Connected to google.com (216.58.197.174) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * Server certificate: * subject: CN=*.google.com,O=Google LLC,L=Mountain View,ST=California,C=US * start date: 8月 28 18:23:00 2018 GMT * expire date: 11月 20 18:23:00 2018 GMT * common name: *.google.com * issuer: C=SK,O="ESET, spol. s r. o.",CN=ESET SSL Filter CA * NSS error -8179 (SEC_ERROR_UNKNOWN_ISSUER) * Peer's Certificate issuer is not recognized. * Closing connection 0 curl: (60) Peer's Certificate issuer is not recognized. More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.
ん?よくよく見比べて見ると気になるものが。。
どっちも発行者(issuer)がESETではありませんか!
ESETが認証局サービスを始めたにしても偶然すぎるし、Filterってのが怪しすぎる。
で、さっそくESETの設定を確認。
ありました。怪しそうな設定が…"SSL/TLSプロトコルフィルタリング"がONになってます。
試しにOFFにするとすんなり通りました。
[root@localhost ~]# docker pull httpd Using default tag: latest Trying to pull repository docker.io/library/httpd ... latest: Pulling from docker.io/library/httpd Digest: sha256:8631904c6e92918b6c7dd82b72512714e7fbc3f1a1ace2de17cb2746c401b8fb Status: Image is up to date for docker.io/httpd:latest
みなさんもESET入れている方で、SSL/TLS系の通信がおかしいときとは"SSL/TLSプロトコルフィルタリング"の設定を確認しましょう。
ちなみになぜゲスト(CentOS 7)でホスト(Windows10)にインストールされているESETの影響を受けているか気になったので調べると 案の定、VMのネットワーク設定がNAT接続になっていました。ブリッジにすると影響をうけなくなったので、 最終的には"SSL/TLSプロトコルフィルタリング"をOFFにするのではなく、VMのネットワーク設定をブリッジ接続にするという対応にしました。