#topicpath
----

#contents

** 各コンテナのIPアドレスをしる [#k0b61efd]
 # docker network inspect bridge
で "Containers": あたりをみると
 "IPv4Address": "172.17.0.10/16",
などと書いてあるのが確認出来ます。


** 任意のポートでWEBサーバを起動するワンライナー [#i3db188c]
 docker run -it ubuntu:14.04  \
  /bin/bash -c 'trap exit INT; while true; do ( echo "HTTP/1.0 200 Ok"; echo; echo "Hello World" ) | \
  nc -l 8080; done'

ubuntuをたてて netcat で任意のポートで待ち受けてみました。

[[nc コマンドで簡易HTTPサーバ - sonots:blog>http://blog.livedoor.jp/sonots/archives/34703829.html]]


** Dockerfileで、中のファイルの書き換え [#p956c60d]
 RUN sed -i -e 's/"grunt-stubby": "^0.1.4",/"grunt-stubby": "^0.2.1",/g' package.json

sedで package.json にある grunt-stubbyのバージョンを書き換える例


** Photonにdocker-composeをインストール [#qa9cade0]
 curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose

-[[Deploying VMware Photon on Vagrant and Installing docker-compose - Anexinet>http://www.anexinet.com/blog/deploying-vmware-photon-on-vagrant-and-installing-docker-compose/]]
-[[https://github.com/docker/compose/releases]]
-https://github.com/docker/compose/releases
-[[Install Docker Compose | Docker Documentation>https://docs.docker.com/compose/install/#install-compose]]

**Docker関連のファイル群が置かれている場所を変更したい [#hcd9b731]
デフォルトでは、
 /var/lib/docker/
のようですが、サービスの起動オプションで変更できるようです。
 # cat /usr/lib/systemd/system/docker.service
 
 ... 割愛
 ExecStart=/usr/bin/docker daemon $DOCKER_OPTS \
 変更前
           --containerd /run/containerd.sock
 変更後
           --containerd /run/containerd.sock \
           -g /my_disk
 ... 割愛

あとはサービスを再起動します。
 # mkdir /my_disk
 # systemctl stop docker
 # systemctl daemon-reload
 # systemctl start docker

コレでOKですね。

Photon OSがデフォルトで8GBしかディスクが割り当てられていないので、ディスクをvSphere上で増設してパーティションを作成したあと、Dockerのファイル群をそのパーティションをマウントしたディレクトリに置きたくて、ファイルの置き場所の変更方法を調べていたのでした。コレでうまくいきそうです。

:2018/05/29追記|今日時点の新しいPhotonを入れたらやり方が変わってるっぽい。。jsonファイルをつくってゴニョゴニョなど。。。以下を参考にしてください。[[Docker Root Dir を /var/lib/docker から /foo/bar/docker へ変更する方法 - Qiita>https://qiita.com/moperon/items/cda5b7d6e9ad39f796d5]]


一言でかくと
 root@photon-machine [ / ]# systemctl stop docker
 root@photon-machine [ / ]# cat /etc/docker/daemon.json
 {
     "graph": "/docker"
 }
 root@photon-machine [ / ]# systemctl start docker
 root@photon-machine [ / ]# docker info | grep Root
 Docker Root Dir: /docker
 root@photon-machine [ / ]#
コレで/var/lib/docker -> /docker になりました。。






** ディスクを拡張したい。 [#w8951101]
vSphereのUI上で、既存の8GBかなんかのディスクをたとえば100GBとかに増設しておきます。
 # fdisk -l
 GPT PMBR size mismatch (16777215 != 209715199) will be corrected by w(rite).
 Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
 ...
 
 # fdisk /dev/sda
 
 Command (m for help): p
 
 Device        Start       End   Sectors Size Type
 /dev/sda1      2048      6143      4096   2M BIOS boot
 /dev/sda2      6144  16777182  16771039   8G Linux filesystem
 
 Command (m for help): n
 Partition number (3-128, default 3):
 First sector (16777183-209715166, default 16777216):
 Last sector, +sectors or +size{K,M,G,T,P} (16777216-209715166, default 209715166):
 
 Created a new partition 3 of type 'Linux filesystem' and of size 92 GiB.
 
 Command (m for help): p
 
 Device        Start       End   Sectors Size Type
 /dev/sda1      2048      6143      4096   2M BIOS boot
 /dev/sda2      6144  16777182  16771039   8G Linux filesystem
 /dev/sda3  16777216 209715166 192937951  92G Linux filesystem  <- 増えた
 
 Command (m for help): w
 GPT PMBR size mismatch (16777215 != 209715199) will be corrected by w(rite).
 #

shutdown -r now で再起動しておきます。

 # mkfs -t ext4 /dev/sda3
 mke2fs 1.42.13 (17-May-2015)
 Creating filesystem with 24117243 4k blocks and 6029312 inodes
 ... 割愛
 Writing superblocks and filesystem accounting information: done

マウントします
 root@photon-machine [ ~ ]# mount /dev/sda3 /my_disk
 root@photon-machine [ ~ ]# df -m
 Filesystem     1M-blocks  Used Available Use% Mounted on
 /dev/sda3          92602    60     87816   1% /my_disk
 root@photon-machine [ ~ ]#
マウントされました。

あとは fstabに下記を追記しておけばOKです。
 # cat /etc/fstab
 ...
 /dev/sda3 /my_disk ext4 defaults 1 2

ディスク拡張完了です。







**Photon OS のマシン自体を固定IPにする [#gf4fb189]
 # cat /etc/systemd/network/10-dhcp-en.network
 [Match]
 Name=e*
 
 [Network]
 DHCP=no
 Address=192.168.x.xx/24
 Gateway=192.168.x.x
 DNS=192.168.x.x
 # systemctl restart systemd-networkd

-[[PhotonOSで固定IPにする | @アイテヌテク>http://tech.itenus.xyz/2016/11/05/post-2263/]]
-[[Setting a Static IP Address>https://github.com/vmware/photon/blob/master/docs/photon-admin-guide.md#setting-a-static-ip-address]]



** Docker Hub へのpush [#ee39ca52]
Docker Hub 上で hogehoge というアカウントを利用していたとして
 # docker login
でログインした状態であるにもかかわらず、imageをpushしたら、
 unauthorized: authentication required
が発生してしまいました。その際の対処法について。

ちなみに、
 # docker images
 REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
 myjenkins                  latest              59d580851733        8 weeks ago         714.4 MB

このimage をpushしたいとします。

どうもイメージの名前とアカウント名が異なることが原因のようです。まず

 # docker tag myjenkins hogehoge/myjenkins

とtagをつけて、hogehogeというprefixをつけたimageを作成します。

 # docker images
 REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
 myjenkins                  latest              59d580851733        8 weeks ago         714.4 MB
 hogehoge/myjenkins        latest              59d580851733        8 weeks ago         714.4 MB

できました。で、このimageをDocker Hubへpushしてみます。
 # docker push hogehoge/myjenkins

こんどはpushできました。

最初、Docker Hubのアカウント名を気にせずimageを作成して、そのまま、
 # docker push myjenkins
としようとして、認証エラーが発生していたようです。

[[[Docker Hub][使い方]unauthorized: authentication required &#8211; ADACHIN SERVER Lab>https://adachin.server-on.net/wordpress/?p=2871]]
このサイトに到達してようやく解消しました。感謝です。




**コンテナの全消しワンライナー [#kc5920bf]
 # docker ps -a |sed  's/[\t ]\+/\t/g' | cut -f1 | xargs  docker rm



----
この記事は
#vote(おもしろかった,そうでもない)

#comment

#topicpath

SIZE(10){現在のアクセス:&counter;}


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS