- 追加された行はこの色です。
- 削除された行はこの色です。
#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 – 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;}