TestLink を弄ってみる
- 適当に
C:\workspace\projects\docker\testlink
この辺にディレクトリを掘る - そこに
mariadb_data
,testlink_data
ディレクトリを掘る docker-compose.yml
を作成して後述を記述docker-compose up -d
で起動(ただし完了までそこそこ時間がかかる)
version: '2' services: mariadb: image: 'bitnami/mariadb:latest' environment: - ALLOW_EMPTY_PASSWORD=yes - MARIADB_USER=bn_testlink - MARIADB_DATABASE=bitnami_testlink volumes: - 'C:\workspace\projects\docker\testlink\mariadb_data:/bitnami' testlink: image: 'bitnami/testlink:latest' environment: - TESTLINK_DATABASE_USER=bn_testlink - TESTLINK_DATABASE_NAME=bitnami_testlink - ALLOW_EMPTY_PASSWORD=yes ports: - '80:80' - '443:443' volumes: - 'C:\workspace\projects\docker\testlink\testlink_data:/bitnami' depends_on: - mariadb
因みに、ここで嵌ったのが、ノートン先生の問題。
どうもこのノートン先生はDockerコンテナ同士の通信を阻害するものらしい。
そのため、以下の設定を行った。
確かにこれで、コンテナの起動に失敗することは無くなったのだが、起動中に php のインストールで停止するらしい。
apache のインストールまでは行ってるので、通信内容を見て勝手に遮断してるのかも知れないが、結局わからなかった。
Docker CLI で unauthorized: incorrect username or password で無駄に嵌ったのでメモ
Windows で Docker 入れると、Htper-V なんて他の共存を拒むクソアプリを入れざるを得なくなるので、Ubuntu16 のDualBootにしていたのだが、どうも DELL の XPS15 9560 と相性がよくないらしい。
なんてクソッタレな状況に陥ったので、もういい加減切れて Ubuntu を削除。
VirtualBox すら諦めて(F○ck!!!!)Windows10 で開発しようと、Docker をインストールする。
そして、無事入ったと思ったら、まともにコンテナが起動しなかったので、対処も踏まえてメモ。
起こったこと
Docker イメージのダウンロード中に以下のエラーで止まる。
incorrect username or password.
一応、GUI上ではすべてログインしているように見える。
フォーラムを眺めたところ、コンソールは別にログインしなければならないらしいことが分かった。
コマンドラインでログインしかし罠だった
で、コマンドラインからログイン(dockerhub のログインに使用しているメアドでログイン)しようとして以下のエラー。
C:\workspace\projects\docker\redmine-jenkins-testlink>docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username (XXXXXXXX@gmail.com):XXXXXXXX@gmail.com Password: Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password
Dockerhub のログイン画面で DockerID と書かれているものと全く同じものを入力してコレである。
再びフォーラムを検索してみたところ、「メールアドレスを使うんじゃない」 と言っている。
ハァ( ゚Д゚)ハァ?
結局
ログイン後に表示されるアカウントIDを入れたらログインできたという…
C:\workspace\projects\docker\redmine-jenkins-testlink>docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username (XXXXXXX@gmail.com): xxxxxxxx Password: Login Succeeded
これは Dockerhub でログインした後の以下の部分
なんか本質以外でハメられると色々損した気分になる…
UEFI でデュアルブート設定した Ubuntu を削除する
といってもメモだが…
手順はこんな感じ。
cmd.exe を管理者権限で起動して操作します。
因みに、自分の環境(XPS15)だと list disk に反応はなく、list volume で参照したら存在した。
まぁ、1ディスクで二つ入ってるからなぁ
C:\Windows\system32>diskpart Microsoft DiskPart バージョン 10.0.16299.15 Copyright (C) Microsoft Corporation. コンピューター: DESKTOP-OFE415F DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ---- ---------- ------- --------- -------- Volume 0 C NTFS Partition 476 GB 正常 ブート Volume 1 回復 NTFS Partition 499 MB 正常 非表示 Volume 2 FAT32 Partition 100 MB 正常 システム DISKPART> sel volume=2 ボリューム 2 が選択されました。 DISKPART> assign letter=d: DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。
あとはリンク先と変わりません。
XPS15 に Ubuntu16.4 入れたはいいけど…
あれやこれの問題が起きたのでメモ
インストール
基本的にはここに書いてあるとおり。
なのだけど、ここには注記がある。
日本語プロジェクトから Ubuntu image を落として使ってはいけない という点。
何が起きるかというと、2018/04/08 時点では、Ubuntu のバージョンが若干古く、しかも「Wifi にバグを抱えたバージョン」であるようで、無線 LAN が息をせずに文鎮になりかけた。
英語 本家から落としてインストールすることで、これは事なきを得た。
起動したはいいがファンがうるさい
何が起きてたかというと、搭載の nvidia geforce 1050 が暴走でもしてるのかと思うくらい動きまわってた。
軽く探しまわってみたところ、どうにも Windows にだけ最適化してて、Ubuntu では微妙…とのこと。
そんなもんメインでぶん回せはうるさくなるのは当たり前だろう…ということで、眠らせる方法を探した。
$ prime-select query
というコマンドがあわかり、引数で query: 現在メイン稼働の GPU 表示。 intel: IntelGPU をメイン使用設定。nvidia: Geforce をメイン使用設定。ができることがわかった。 これで少しファンの音が小さくなった。
追記:やったら再起動後不安定になったという…普通に Htper-Vで入れた方がいい気がする
Docker(17.12.0) docker-compose 試してみた
と言っても言うほど難しい話ではなく、複数起動してたコンテナをスクリプトでまとめてやるだけの話。
docker-compose.yml
を下記の様に記述。
version: '3.1' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRESS_DB_PASSWORD: password mysql: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: password
そして同一ディレクトリ上で
$ docker-compose up Creating network "composeexample_default" with the default driver Pulling mysql (mysql:5.7)... 5.7: Pulling from library/mysql Digest: sha256:4f9323cb4aeca062fd1a341b50c7721b9aef6bff3ded806dec0897323b8b7be8 Status: Downloaded newer image for mysql:5.7 # 中略 wordpress_1 | [Sun Feb 18 01:35:35.318708 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.2 configured -- resuming normal operations wordpress_1 | [Sun Feb 18 01:35:35.318781 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
これでいちいちパラメータとか覚えなくて済むと言うのはとても楽でよい。
Docker(17.12.0) Dockerfile を使ってアプリケーションイメージを作成する
まずはデプロイするアプリケーションから。
これは Playframework のものを…
ってダメだお前…依存多すぎ DL 遅すぎ…。
今回試したいのは Play じゃないんだってば(汗
Dockerfile をまず作る。
$ vim Dockerfile FROM ubuntu # install python3 RUN apt-get update -y RUN apt-get install python3 -y # Create application dir RUN mkdir /app ADD index.html /app # Start web server WORKDIR /app # Open port EXPOSE 8000 CMD [ "python3", "-m", "http.server", "8000" ]
Python をさっさとインストールして、/app
配下で web サーバを 8000 ポートで立ち上げろという指示。
どーでもいいが、Ubuntu の python は普通に 2.6 なんよね…Python3 インストールするとコマンドが python3
とかホントヤダ…
index.html
はこんな感じでいいかね?
<html> <body> <p>Simple message.</p> </body> </html>
という事でビルド
$ docker build -t example/python-web . Sending build context to Docker daemon 3.072kB Step 1/8 : FROM ubuntu ---> 0458a4468cbc Step 2/8 : RUN apt-get update -y ---> Using cache ---> e804ebbf1b24 Step 3/8 : RUN apt-get install python3 -y ---> Running in 88714e60b80d Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: 中略 Step 7/8 : EXPOSE 8000 ---> Running in da3dff3d02ea Removing intermediate container da3dff3d02ea ---> 5d96e9b282c6 Step 8/8 : CMD [ "python", "-m http.server", "8000" ] ---> Running in 02858ca42d76 Removing intermediate container 02858ca42d76 ---> 538e92c4647b Successfully built 538e92c4647b Successfully tagged example/python-web:latest
そして起動
$ docker run -p 8080:8000 --name py-web example/python-web
OK 起動した
Docker(17.12.0) Dockerfile からのイメージ作成
内容的には前回やった事を自動化する。
だってこんなのイメージで持ち続けるって大変じゃね?
ってことで、スクリプトでイメージの作り方を指定するらしい。
XXXXXXXX$ cat Dockerfile FROM ubuntu # Install requirements. RUN apt-get update -y # install ubuntu node RUN apt-get install curl nodejs npm -y RUN npm cache clean # install n and nodejs stable RUN npm install n -g RUN n stable RUN ln -sf /usr/local/bin/node /usr/bin/node # remove ubuntu default node RUN apt-get purge -y nodejs npm
ubuntu をベースに実行するコマンドを列挙しただけの簡易構成。
XXXXXXX$ docker build -t ubuntu-node . Sending build context to Docker daemon 2.048kB Step 1/8 : FROM ubuntu ---> 0458a4468cbc Step 2/8 : RUN apt-get update -y ---> Running in 87ece63764c1 Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] Get:2 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB] Get:3 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [58.7 kB] Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB] Get:5 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [563 kB] Get:6 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB] 中略 Removing intermediate container c06f58876486 ---> 388c19df4ec2 Successfully built 388c19df4ec2 Successfully tagged ubuntu-node:latest
というログを吐いてビルド終了。
早速確認してみる。
XXXXXXX:nodeimg azalea$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu-node latest 388c19df4ec2 About a minute ago 562MB wordpress latest ef4787e1820e 8 days ago 410MB ubuntu latest 0458a4468cbc 3 weeks ago 112MB mysql latest f008d8ff927d 4 weeks ago 409MB nginx latest 3f8a4339aadd 7 weeks ago 108MB hello-world latest f2a91732366c 2 months ago 1.85kB XXXXXXX:nodeimg azalea$
無事 ubuntu-node
イメージが出来上がった。
XXXXXXX$ docker run ubuntu-node node --version
v9.4.0
ひゃっはー