LoginSignup
9
5

More than 5 years have passed since last update.

MacにDocker - コンテナからイメージの作成

Last updated at Posted at 2016-10-10

MacにDocker
ここの子ページ的な

コンテナからイメージ作成(docker commit)

centos7のイメージからコンテナ起動して、centos7で色々設定を行い、その後イメージの作成を行います。

centos7のイメージを取得

$ docker pull centos:7
$ docker pull images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos                     7                   980e0e4c79ec        4 weeks ago         196.8 MB

centos7のコンテナ起動

centos7のイメージからコンテナ名mycentosでコンテナ起動。

$ docker run -it --name mycentos centos:7 /bin/bash
[root@b8f64d7790e8 /]#

ここからはcentosの設定なので、不要な場合読み飛ばしてください。

### コンテナ内でcentosの操作 ###

##########
# ■最新化
[root@b8f64d7790e8 /]# yum -y update

##########
# ■rootのパスワード設定
[root@b8f64d7790e8 /]# passwd
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

##########
# ■ユーザ追加
[root@b8f64d7790e8 /]# useradd <ユーザ名>
# 追加したユーザにパスワード設定
[root@b8f64d7790e8 /]# passwd <ユーザ名>
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# 追加されたことを確認
[root@b8f64d7790e8 /]# su - <ユーザ名>
[<ユーザ名>@b8f64d7790e8 ~]$ whoami
<ユーザ名>

##########
# ■sudo設定
[root@b8f64d7790e8 /]# yum -y install sudo
[root@b8f64d7790e8 /]# visudo
## 最終行に以下を追加
<ユーザ名>    ALL=(ALL)       ALL
# sudo設定確認
[root@b8f64d7790e8 /]# su - <ユーザ名>
[<ユーザ名>@b8f64d7790e8 ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[<ユーザ名>@b8f64d7790e8 ~]$ sudo cat /etc/shadow
[sudo] password for <ユーザ名>: # ユーザのパスワードを入力して実行できることを確認

##########
# ■vimのインストール
[root@b8f64d7790e8 ~]# yum -y install vim-enhanced
# vimのエイリアスを設定
[root@b8f64d7790e8 ~]# vi /etc/profile
## 最終行に以下を追加
alias vi='vim'
# 変更を適用
[root@b8f64d7790e8 ~]# source /etc/profile
# centos設定終了
[root@b8f64d7790e8 /]# exit

コンテナの状態確認

$ docker ps -a
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS                     PORTS               NAMES
b8f64d7790e8        centos:7                   "/bin/bash"              58 minutes ago      Exited (1) 8 seconds ago                       mycentos

停止している

コンテナからイメージ作成

初期設定したcentos7のコンテナ(コンテナ名:mycentos)からイメージを作成します。

$ docker commit -a "<作成者を任意で設定>" -m "<コミットメッセージを任意で設定>" mycentos <Docker Hubのユーザ名>/mycentos:1.1

作成したイメージの確認

$ docker images
REPOSITORY                               TAG                 IMAGE ID            CREATED             SIZE
<Docker Hubのユーザ名>/mycentos            1.1                 49f48b38810e        24 seconds ago      413 MB
centos                                   7                   980e0e4c79ec        4 weeks ago         196.8 MB

作成したイメージからコンテナ起動

作成したイメージ/mycentosからコンテナ名mycentos2でコンテナ起動。

docker run -it --name mycentos2 <Docker Hubのユーザ名>/mycentos:1.1 /bin/bash
[root@305dfeb8a6c4 /]#

コンテナ名mycentosで追加したユーザが存在することを確認

[root@305dfeb8a6c4 /]# su - <ユーザ名>
[<ユーザ名>@305dfeb8a6c4 ~]$ 
9
5
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
9
5