恐る恐るDockerfileを作る

この記事は約3分で読めます。
自分用の備忘録の雑メモです。

背景

現在Dockerを勉強中です
Dockerfileに作りたいイメージを書いて、それをdocker-compose.ymlで読み込んで
$docker compose up -d
で実行しています
しかし、Dockerfileに書く初期実行コマンドを書くのに苦戦中、、、
どのコマンドが上手くいって、どのコマンドが失敗するかわからーん
そこで最初にコンテナを立ち上げて、その中でコマンドを試してからDockerfileに書くことにしました

 Dockerfileだけでコンテナを立ち上げる方法

Dockerfileを用意します

 

今回はシンプルにUbuntuのイメージを使用します

# M1 MacのみFROMの記述が必要
FROM --platform=linux/amd64 ubuntu:latest

# RUNコマンドは、コンテナ作成時に自動で実行するコマンドを指定
RUN apt update -y
RUN apt install -y sudo git vim

# fogeというユーザを作成、fogefogeというPWを設定
RUN useradd -m -s /bin/bash foge
RUN echo "foge:fogefoge" | chpasswd
# sudoでroot権限のコマンドを実行できるように指定
RUN gpasswd -a foge sudo

# コンテナを指定したユーザで実行(rootユーザ以外で実行したい)
USER foge

# ワークディレクトリを設定
WORKDIR /home/foge/

 

上記のDockerfileの作成にはこちらのサイトを参考にさせていただきました(参考というかほぼほぼコピペ、、、ありがとうございますm(_ _)m)

*Docker入門*Ubuntuの環境を構築する - Qiita
はじめにこんにちは。今回は、Dockerの基本的な操作を学びながら、以下のようなUbuntuコンテナを作成することを目指します。最も単純な、rootユーザで操作できるUbuntu(Linux)環…

 

 

このDockerfileを作業用ディレクトリに配置してビルドしてDockerイメージを生成します

$docker build . -t testUbuntu:prototypingImage

 

-tオプションでは イメージ名:タグ名 を指定することができます

イメージとタグの違いはあんまりよくわかってないーーーー!

 

イメージをビルドしたあとは、IMAGE IDを調べます

$docker image ls

 

そのイメージでコンテナを作成してコンテナ内に入ります

$docker run -it [IMAGE ID] bash

 

あとはこのコンテナの中でコマンドを実行して、上手くいったものをDokerfileに転記します

 

またコマンドが上手くいかなかった場合はコンテナから出ることで、最初からやり直すことができます

$exit

 

runコマンドで作ったコマンドは一時的なものなのかな

 

 

Docker難しいーーーーー!!

コメント

タイトルとURLをコピーしました