Help us understand the problem. What is going on with this article?

そろそろDockerから逃げるのをやめて練習にAWSCLI環境用Dockerを作ってみた

More than 1 year has passed since last update.

逃げてはいなかった・・・はず

に、にげてねぇし(震え
触る必要なかっただけだもんね(目逸らし

この状態とおさらばするために環境作って簡単に触ってみるところまでやってみた履歴

環境のインストール(Mac)

https://docs.docker.com/docker-for-mac/install/
アプリあるでごぜーます。

インストールすると上部にクジラアイコンが出現するでごぜーます
スクリーンショット 2017-05-16 14.02.22.png

dockerコマンド

http://docs.docker.jp/engine/reference/commandline/index.html

リファレンスを引きながら頑張る。

使ってみる

centosを使ってみる。macのターミナルで実行

リファレンスより
使い方: docker pull [オプション] 名前[:タグ] | [レジストリ・ホスト[:レジストリ・ポート]/]名前[:タグ]

レジストリからイメージやリポジトリを取得

  -a, --all-tags=false          リポジトリでタグ付けられた全てのイメージをダウンロード
  --disable-content-trust=true  イメージの認証をスキップ
  --help                        使い方の表示
コマンド
docker pull centos:latest

確認してみる

リファレンスより
使い方: docker images [オプション] [リポジトリ[:タグ]]

イメージを一覧表示します。

  -a, --all=false      全てのイメージを表示(デフォルトは中間コンテナを非表示)
  --digests=false      digest 値を表示
  -f, --filter=[]      指定した状況に応じて出力を整形:
                       - dangling=(true|false)
                       - label=<キー> or label=<キー>=<値>
                       - before=(<イメージ名>[:タグ]|<image-id>|<image@digest>)
                       - since=(<イメージ名>[:タグ]|<image-id>|<image@digest>)
  --help               使い方の表示
  --no-trunc=false     トランケート(truncate)を出力しない
  -q, --quiet=false    整数値の ID のみ表示
コマンド
docker images
結果
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              7894d0c25896        4 days ago          193 MB

おお!なんか来た

ログインしてみる

リファレンス
http://docs.docker.jp/engine/reference/commandline/run.html

オプション多すぎぃ・・・

とりあえず

-t, --tty 疑似ターミナル (pseudo-TTY) を割り当て
-i, --interactive コンテナの STDIN にアタッチ
--rm コンテナ終了時、自動的に削除
--name="" コンテナに名前を割り当て

コマンド
docker run --rm --name test -it centos:latest /bin/bash

これでdockerの方に入れる

抜ける

コマンド
exit

他に使いそうなオプション

-v, --volume=[ホスト側ソース:]コンテナ側送信先[:<オプション>]
ボリュームを拘束マウント。カンマ区切りで指定
オプション は [rw|ro], [z|Z], [[r]shared|[r]slave|[r]private], [nocopy]
'ホスト側ソース' は絶対パスまたは名前の値

-p, --publish=[] コンテナのポートをホスト側に公開
-d, --detach コンテナをバックグラウンドで実行し、コンテナ ID を表示

dockerfile

構築手順書のテキストみたいなもの

効率的に安全な Dockerfile を作るにはこの記事を参考に作業しました。

Dockerfile
FROM centos:latest
MAINTAINER Yuki_BB3
LABEL version="1.0"

RUN set -xv                                                                                 && \
    curl -s "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"                          && \
    python get-pip.py                                                                       && \
    pip install awscli --ignore-installed six                                               && \
    curl -s -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh    && \
    source ~/.nvm/nvm.sh                                                                    && \
    nvm install v6.10.3                                                                     && \
    npm install -g jsonlint                                                                 && \
    npm install -g jq                                                                       

Docker作業用ディレクトリに上記ファイルを作成して

コマンド
docker build -t awscli_image .

標準出力ガーーーーっと出てくるので終わるまで待つ

コマンド
docker images
結果
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
awscli_image        latest              123f567f1a4f        About an hour ago   317 MB

おお、でけた。

コマンド
docker run -it awscli_image /bin/bash
コマンド
# aws configure
AWS Access Key ID [None]: hoge
AWS Secret Access Key [None]: fuga
Default region name [None]: ap-northeast-1
Default output format [None]: json

# aws s3 ls
2017-02-22 02:48:12 hogehoge

おおー、うごいた!

とりあえず恐怖感は払拭できたので使っていく

Yuki_BB3
バイクと酒と戦車道 こちらに記載した内容は所属会社とは関係ありません
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away