dockerを使い始めた理由の一つは、Macintoshでgccのクロスコンパイラのコンパイルが大変そうだったことにあります。そして、docker利用の一つのまとめ記事が次になります。出発点はこの記事です。
あなたもdocker, 私もdocker。docker(130)
<この項は描きかけです。順序築城します。>
docker pull
Dockerをどっかーらどうやって使えばいいんでしょう。TOPPERS/FMP on RaspberryPi with Macintosh編 5つの関門「名古屋のIoTは名古屋のOSで」
https://qiita.com/kaizen_nagoya/items/9c46c6da8ceb64d2d7af
上記記事では、docker pullから始めるようにしている。
これは複数人での演習を想定して、操作内容を寡う、作業時間を短くするためである。
git: docker fileの置き場
docker for TOPPERS/FMPビルドするためのDockerプロジェクト.by Saito Naoki
https://github.com/nmiri-nagoya-nsaito/docker-toppers-fmp-rpi64
$ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers-fmp-rpi64.git
FROM ubuntu:xenial
MAINTAINER Naoki Saito <saito.naoki@nmiri.city.nagoya.jp>
RUN apt update
RUN DEBIAN_FRONTEND=noninteractive apt upgrade -y \
&& DEBIAN_FRONTEND=noninteractive apt install -y subversion git curl wget sudo vim man netcat \
&& DEBIAN_FRONTEND=noninteractive apt install -y gcc-arm-none-eabi g++ make perl ruby \
&& DEBIAN_FRONTEND=noninteractive apt install -y libboost-dev libboost-system-dev libpython2.7 \
libboost-regex-dev libboost-filesystem-dev libboost-program-options-dev libxerces-c-dev
#
# create a user (UserID: ${USER} or "developer")
#
ARG USER
ENV user=${USER:-"developer"}
RUN adduser --gecos ",,," --disabled-password $user \
&& passwd -d $user \
&& usermod -G sudo $user \
&& echo $user ALL=NOPASSWD: ALL > /etc/sudoers.d/$user
###
### run custom scripts
###
USER root
WORKDIR /tmp
ADD ./scripts/root ./scripts
RUN chmod -R +x scripts \
&& sync \
&& ./scripts/setup_root.sh
WORKDIR /home/$user
ADD ./scripts/user ./scripts
RUN chown -R $user:$user ./scripts
USER $user
RUN chmod -R +x ./scripts \
&& sync \
&& ./scripts/setup_user.sh
FROM ubuntu:xenial
全部latestで通す方法もある。他のライブラリ等が特定の版を想定している時には、ubuntuも特定の版でよい。
最新志向
最新の版を試すことにより、不具合の報告、相互依存関係の確認を行い、他の利用者に貢献する。
現状志向
現在動いているものと同じ版を利用してもらい、現状の支援を行いやすくすることにより利用者に貢献する。
RUN apt update
aptコマンドの対象ファイルを更新する。
現在入っているものとの整合性だけを取りたい時には、updateしない。
RUN DEBIAN_FRONTEND=noninteractive apt upgrade -y
現在入っているソフトウェアのupgradeを行う。
最新のものに合わせるのによい。
RUN DEBIAN_FRONTEND=noninteractive apt install -y \
subversion git curl wget sudo vim man netcat
gcc-arm-none-eabi g++ make perl ruby
libboost-dev libboost-system-dev libpython2.7
libboost-regex-dev libboost-filesystem-dev libboost-program-options-dev libxerces-c-dev
導入するソフトウェアを列記する。
git, wget, sudo, vim man, makeなどの基本的なコマンドも入っていないことに注意。
参考資料(reference)
Dockerの基本コマンド
https://qiita.com/yuj/items/9b051441a205c04e63db
@kotaro-dr
【図解】Dockerの全体像を理解する -前編-
https://qiita.com/kotaro-dr/items/b1024c7d200a75b992fc
【図解】Dockerの全体像を理解する -中編-
https://qiita.com/kotaro-dr/items/88ec3a0e2d80d7cdf87a
【図解】Dockerの全体像を理解する -後編-
https://qiita.com/kotaro-dr/items/40106f13d47bfcbc2572
##@kai_kou
別docker-compose同士のネットワークを繋げる方法
https://qiita.com/kai_kou/items/d568fe94ee92f837e274
DockerでUnity ML-Agentsを動作させる(v0.5.0対応)
https://qiita.com/kai_kou/items/df3f3518a5a27b66f617
DockerでGoの開発環境を作ってServerlessでAWS Lambdaにデプロイしてみた
https://qiita.com/kai_kou/items/fc3eab987d7ed2d6f65b
DockerでVue.js+TypeScript開発環境を構築する
https://qiita.com/kai_kou/items/d581a9f8f3ee8605aed1
DockerでNuxt.js(v1.3.0)+TypeScript開発環境を構築する
https://qiita.com/kai_kou/items/853780f75afbdf116654
C++初心者がDockerで開発環境をつくってみた
https://qiita.com/kai_kou/items/1f4b9a45a5d4d6788649
PythonのFlaskでMySQLを利用したRESTfulなAPIをDocker環境で実装する
https://qiita.com/kai_kou/items/5d73de21818d1d582f00
Google Cloud Buildを利用してUnity ML-AgentsのDockerイメージを作成する(v0.5.0対応)
https://qiita.com/kai_kou/items/56de0f5a3b2f89290d0d
DockerでUnity ML-Agentsを動作させる(v0.6.0対応)
https://qiita.com/kai_kou/items/157e91312c2c0115376d
Dockerとapi blueprint+aglio+drakovを使ってAPI開発を楽にする
https://qiita.com/kai_kou/items/feca8974f3967a285ff4
others
原理原則で理解するDocker
https://qiita.com/tajima_taso/items/28938415846dcc2e83ff
Visual Studio 2017 Linux C++ ワークロードをDockerでデバッグ
https://qiita.com/hajimen/items/808ac28c67d45b95df81
今日から始めるDocker【docker-composeを使ってGo & Mysqlをよしなに起動しよう編】
https://qiita.com/yu-croco/items/0c0d5083298f7db9e1bb
Docker — docker コンテナの中で vim が使えない場合
https://qiita.com/YumaInaura/items/3432cc3f8a8553e05a6e
HaskellとstackとDockerと
https://qiita.com/A_kirisaki/items/0f4a51a02934709124c4
docker+nginx+redmine+postgresql+サブディレクトリ
https://qiita.com/sukeke00/items/8a4f2058dd14c3307012
Docker環境にRails5.2.1をVue.jsも添えて...DBはPostgreSQLだよ!
https://qiita.com/asapon_rb/items/507558aad52dc7dd2b32
NVIDIA Docker2+CUDA8.2でVisemeNet_tensorflowを動かす
https://qiita.com/_JG1WWK/items/0db7c62efb07a5b6d6a2
自己資料(self reference)
言語処理100本ノックをdockerで。
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4
docker利用を勧める256の理由(現在15)
https://qiita.com/kaizen_nagoya/items/c4e5075142bf5e11ddbe
なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2
dockerfile
https://qiita.com/kaizen_nagoya/items/cbb6c2c8da78bcbffb08
dockerで画面表示
https://qiita.com/kaizen_nagoya/items/a353862ec69fccce8bc2
Play with Docker でエラー
https://qiita.com/kaizen_nagoya/items/fbf054705bff725dbc25
今日のdocker error
https://qiita.com/kaizen_nagoya/items/940189904f57e1d0b249
COBOLを40年ぶりにうごかしてみた:dockerでcobol
https://qiita.com/kaizen_nagoya/items/9d9a216ce1b7b05dbb43
「DockerでPHP7.0×Apacheの環境を構築する@kurkuru」IT業界新人利用時の16の壁(mac mini編)
https://qiita.com/kaizen_nagoya/items/315e8d05a6eef00b56d1
One liner program on docker
https://qiita.com/kaizen_nagoya/items/43ccf4e2d16e3a81adba
docker で jq
https://qiita.com/kaizen_nagoya/items/8b35775c354cac36093b
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
#文書履歴
ver. 0.01 初稿 20181028
ver. 0.02 参考資料追記 20190223
ver. 0.03 参考資料追記 20190224
ver. 0.04 自己資料追記 20190225
ver. 0.05 資料追記 20192028
ver. 0.06 資料追記 20190301
ver. 0.07 apt-get をaptに変更 20190304
ver. 0.08 追記 20190520
ver. 0.10 URL追記 20230224
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.