2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

dockerの基本コマンドとエトセトラ【初学者の備忘録】

Last updated at Posted at 2019-09-02

dockerイメージの作り方

# オプションはキャッシュが残らないように。慣れないうちはこれでやる。
docker build --no-cache -t deploy_test2:タグ名 .

dockerコンテナの作り方

# ruby:1.0イメージから、rails_testコンテナを作成し、デタッチドモードで起動する。
$ docker run -it --name rails_test -d ruby:1.0

# コンテナとホスト側の動作、バインドマウントまでさせる方法
$ docker run -it --name コンテナ名 -d -v ホスト側絶対パス:コンテナ側絶対パス:パーミッション イメージ名
# alpineイメージのコンテナにsshログインする方法
# debian系のイメージなら/bin/bashとする
$ docker exec -it コンテナ名 /bin/ash

docker-machineの作り方(dockerリモコンぐらいに考えるとわかりやすいかも)

# dockerをどこに作成するか、その名前(default)
# --driverはdockerを建てる場所。デフォルトではvirtualboxなので、指定しなくても良い。
$ docker-machine create --driver virtualbox default

# defaultのIPアドレスを確認する
$ docker-machine ip default 

dockerイメージの削除方法

$ docker rmi -f イメージ名か、イメージID

dockerコンテナの削除方法

$ docker rm -f コンテナ名か、コンテナID

docker-machineで作成したホストの削除方法

$ docker-machine rm ホスト名

確認コマンド

# docker-machineの一覧表示
$ docker-machine ls

# docker-machineで管理するdockerを対象に、dockerコマンドの操作対象を切り替える
$ eval $(docker-machine env docker-machineの名前)

# dockerコマンドの操作対象をローカルに戻す
$ eval $(docker-machine env -u)

# 動作中のコンテナを表示
$ docker ps

dockerfileの奥義

絶対に互換性に泣く。まずは下記からスタートする。
というか、まずは本を読んだ方が良い。
ググりながらやったら詰みました。

・ベースイメージを決める。

・アプリケーションのrootディレクトリを作成する。

・それをワーキングディレクトリとする(HOMEではない)

# このレベルからスタートしてコンテナ上でいろいろ試す。
FROM ruby:2.5.1-alpine

ENV APP_ROOT /usr/src/myapp

WORKDIR $APP_ROOT

COPY Gemfile Gemfile.lock ./

・aptやapkのupdateを行う。必要なら、パッケージリストにURLを追記した上で。
・apt-getなどで必要なパッケージを導入する。
・GemfileとGemfile.lockをコピーする。
・Rubyならbundlerでupdateとinstallする。
・不要なキャッシュやリスト、データを削除する。
・コンテナ起動時に実行したいコマンドを記述する。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?