[O'RILLY]並行コンピューティング技法の読書記録
主題: [O'RILLY]並行コンピューティング技法の読書記録
目標規定文:この文章では「未経験の分野の本でも繰り返し読むことにより理解が深まること」を実際に読んだ感想を記録することにより主張する.
構成法:時系列に沿って記述.「回数」「日付」「読書範囲」をタイトルとして示し,続いて雑感を記す.
1回目 記録なし
2回目 2019-02-27 p65-p181
当初は4-9章のp65-p200の予定だったが1h30mを超えても終わらないので断念.一通り文章に目を通すが,右から左へ抜けていくばかりで呼んだ気がしない.
3回目 2019-02-28 p65-p181
はじめてのDocker
Docker 開発環境
参考
C++初心者がDockerで開発環境をつくってみた - Qiita
https://hogehuga.net/linux/264/
主題:開発環境の作成
目標規定文:この文章では「Dockerを用いた,C++コードの記述・ビルド・デバックの一貫した操作が可能な環境を構築し利用する方法」を示す.
構成法:作成の時系列に沿って記述
-
前準備,設定ファイルなど
-
$ ls
Dockerfile data-structure docker-compose.yml
$ cat Dockerfile
FROM ubuntu:18.04
RUN apt-get update && \
apt-get install -y git build-essential cmake clang libssl-dev gdb vim
$ cat docker-compose.yml
version: '3.3'
services:
dev:
build: .
volumes:
#hostのsrcとguest(docker)のdst共有
- type: bind
source: ./data-structure/
target: /home/data-structure/
# ファイルの共有もできる
- ~/.vimrc:/root/.vimrc
# 開始ディレクトリ
working_dir: /home/data-structure/
-
-
コンテナの作成
docker-compose build
-
コンテナの起動・停止・再開
1. docker-compose run --name "geeks" dev bash
2. exit
3. docker start -i geeks -
コンテナの削除
# 最新のコンテナ以外全部削除 ``とxargsは同じ働き
docker ps -a -q | grep -v `docker ps -l -q` | xargs docker rm
#$()によるコマンド展開
$ sudo docker rm $(sudo docker ps -aq)
# タグなしのイメージをすべて削除するhttps://qiita.com/curseoff/items/a9e64ad01d673abb6866
docker rmi $(docker images | grep '<none>' | awk '{print$3}')
c.f. シェル芸
https://qiita.com/kiida/items/3beb1bf718cdc2f0798a
https://qiita.com/Ping/items/57fd75465dfada76e633 -
その他,諸注意
-
Dockerではrunとstartというコマンドがあり、runは「イメージからコンテナを作成」、startは「コンテナを起動」となります。
私がファイルが消えていると勘違いしていたのは、実はdocker runをしていたため、毎回イメージからコンテナが作成されていたのでした。だからdocker ps -aとかすると一回だけしかログインしてないようなコンテナがいっぱいありました。つらい…
https://www.scriptlife.jp/contents/programming/2016/07/14/post-1628/
-
alias ds="cd ~/workspace/geeksforgeeks && docker start -i geeks" で起動させると便利
-
detach-key問題->config.jsonの設定またはdocker runの際に --detach-keyオプション追加 https://qiita.com/Yuki-Inoue/items/60ec916383025160fbb8
-
-
Dockerチートシート