computerの日記

Cisco,SHELL,C,Qt,C++,Linux,ネットワーク,Windows Scriptなどの発言です

Docker 備忘録その2

さて、自分の好きな docker イメージをつくりたいのですが、やり方をすっかり忘れているので、ここでまたメモします。

前回までで、hello-world イメージが一般ユーザで動きましたよね。

今までに作成したイメージを確認してみます。

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 49f7960eb7e4 2 weeks ago 200MB
centos latest 49f7960eb7e4 2 weeks ago 200MB
hello-world latest e38bc07ac18e 2 months ago 1.85kB
hello-world latest f2a91732366c 7 months ago 1.85kB
intrajp/centos7_kea ver1.1 62624c59d0ac 13 months ago 654MB
intrajp/centos7_kea ver1.0 aa2f983fde6d 13 months ago 621MB
centos latest a8493f5f50ff 14 months ago 192MB

 一つのイメージを動かしてみます。

$ docker run -it <tab>
centos hello-world intrajp/centos7_kea:ver1.0
centos:7 hello-world:latest intrajp/centos7_kea:ver1.1
centos:latest intrajp/centos7_kea
$ docker run -it centos:latest
[root@696fe9d155e9 /]#

 動いたようなので、exit しました。

では、一つのイメージに名前をつけてみます。

$ docker tag 49f7960eb7e4 intrajp/centos_for_gns3_user

確認します。

]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
intrajp/centos_for_gns3_user latest 49f7960eb7e4 2 weeks ago 200MB
...(snip)...

 では、このイメージ intrajp/centos_for_gns3_user を動かして、このコンテナにはいくつのパッケージがインストールされているのかを確認します。

[$ docker run -it intrajp/centos_for_gns3_user
[root@67768806eeb3 /]# rpm -qa | sort;rpm -qa | wc -l
acl-2.2.51-14.el7.x86_64
audit-libs-2.8.1-3.el7.x86_64
basesystem-10.0-7.el7.centos.noarch
bash-4.2.46-30.el7.x86_64
bind-license-9.9.4-61.el7.noarch
binutils-2.27-27.base.el7.x86_64
bzip2-libs-1.0.6-13.el7.x86_64
ca-certificates-2018.2.22-70.0.el7_5.noarch
centos-release-7-5.1804.el7.centos.2.x86_64
chkconfig-1.7.4-1.el7.x86_64
coreutils-8.22-21.el7.x86_64
cpio-2.11-27.el7.x86_64
cracklib-2.9.0-11.el7.x86_64
cracklib-dicts-2.9.0-11.el7.x86_64
cryptsetup-libs-1.7.4-4.el7.x86_64
curl-7.29.0-46.el7.x86_64
cyrus-sasl-lib-2.1.26-23.el7.x86_64
dbus-1.10.24-7.el7.x86_64
dbus-glib-0.100-7.el7.x86_64
dbus-libs-1.10.24-7.el7.x86_64
dbus-python-1.1.1-9.el7.x86_64
device-mapper-1.02.146-4.el7.x86_64
device-mapper-libs-1.02.146-4.el7.x86_64
diffutils-3.3-4.el7.x86_64
dracut-033-535.el7.x86_64
elfutils-default-yama-scope-0.170-4.el7.noarch
elfutils-libelf-0.170-4.el7.x86_64
elfutils-libs-0.170-4.el7.x86_64
expat-2.1.0-10.el7_3.x86_64
file-libs-5.11-33.el7.x86_64
filesystem-3.2-25.el7.x86_64
findutils-4.5.11-5.el7.x86_64
gawk-4.0.2-4.el7_3.1.x86_64
gdbm-1.10-8.el7.x86_64
glib2-2.54.2-2.el7.x86_64
glibc-2.17-222.el7.x86_64
glibc-common-2.17-222.el7.x86_64
gmp-6.0.0-15.el7.x86_64
gnupg2-2.0.22-4.el7.x86_64
gobject-introspection-1.50.0-1.el7.x86_64
gpgme-1.3.2-5.el7.x86_64
grep-2.20-3.el7.x86_64
gzip-1.5-10.el7.x86_64
hardlink-1.0-19.el7.x86_64
hostname-3.13-3.el7.x86_64
info-5.1-5.el7.x86_64
iputils-20160308-10.el7.x86_64
keyutils-libs-1.5.8-3.el7.x86_64
kmod-20-21.el7.x86_64
kmod-libs-20-21.el7.x86_64
kpartx-0.4.9-119.el7.x86_64
krb5-libs-1.15.1-19.el7.x86_64
libacl-2.2.51-14.el7.x86_64
libassuan-2.1.0-3.el7.x86_64
libattr-2.4.46-13.el7.x86_64
libblkid-2.23.2-52.el7.x86_64
libcap-2.22-9.el7.x86_64
libcap-ng-0.7.5-4.el7.x86_64
libcom_err-1.42.9-12.el7_5.x86_64
libcurl-7.29.0-46.el7.x86_64
libdb-5.3.21-24.el7.x86_64
libdb-utils-5.3.21-24.el7.x86_64
libffi-3.0.13-18.el7.x86_64
libgcc-4.8.5-28.el7_5.1.x86_64
libgcrypt-1.5.3-14.el7.x86_64
libgpg-error-1.12-3.el7.x86_64
libidn-1.28-4.el7.x86_64
libmount-2.23.2-52.el7.x86_64
libpwquality-1.2.3-5.el7.x86_64
libselinux-2.5-12.el7.x86_64
libsemanage-2.5-11.el7.x86_64
libsepol-2.5-8.1.el7.x86_64
libssh2-1.4.3-10.el7_2.1.x86_64
libstdc++-4.8.5-28.el7_5.1.x86_64
libtasn1-4.10-1.el7.x86_64
libuser-0.60-9.el7.x86_64
libutempter-1.1.6-4.el7.x86_64
libuuid-2.23.2-52.el7.x86_64
libverto-0.2.5-4.el7.x86_64
libxml2-2.9.1-6.el7_2.3.x86_64
libxml2-python-2.9.1-6.el7_2.3.x86_64
lua-5.1.4-15.el7.x86_64
lz4-1.7.5-2.el7.x86_64
ncurses-5.9-14.20130511.el7_4.x86_64
ncurses-base-5.9-14.20130511.el7_4.noarch
ncurses-libs-5.9-14.20130511.el7_4.x86_64
nspr-4.19.0-1.el7_5.x86_64
nss-3.36.0-5.el7_5.x86_64
nss-pem-1.0.3-4.el7.x86_64
nss-softokn-3.36.0-5.el7_5.x86_64
nss-softokn-freebl-3.36.0-5.el7_5.x86_64
nss-sysinit-3.36.0-5.el7_5.x86_64
nss-tools-3.36.0-5.el7_5.x86_64
nss-util-3.36.0-1.el7_5.x86_64
openldap-2.4.44-15.el7_5.x86_64
openssl-libs-1.0.2k-12.el7.x86_64
p11-kit-0.23.5-3.el7.x86_64
p11-kit-trust-0.23.5-3.el7.x86_64
pam-1.1.8-22.el7.x86_64
passwd-0.79-4.el7.x86_64
pcre-8.32-17.el7.x86_64
pinentry-0.8.1-17.el7.x86_64
pkgconfig-0.27.1-4.el7.x86_64
popt-1.13-16.el7.x86_64
procps-ng-3.3.10-17.el7_5.2.x86_64
pth-2.0.7-23.el7.x86_64
pygpgme-0.3-9.el7.x86_64
pyliblzma-0.5.3-11.el7.x86_64
python-2.7.5-68.el7.x86_64
python-chardet-2.2.1-1.el7_1.noarch
python-gobject-base-3.22.0-1.el7_4.1.x86_64
python-iniparse-0.4-9.el7.noarch
python-kitchen-1.1.1-5.el7.noarch
python-libs-2.7.5-68.el7.x86_64
python-pycurl-7.19.0-19.el7.x86_64
python-urlgrabber-3.10-8.el7.noarch
pyxattr-0.5.1-5.el7.x86_64
qrencode-libs-3.4.1-3.el7.x86_64
readline-6.2-10.el7.x86_64
rootfiles-8.1-11.el7.noarch
rpm-4.11.3-32.el7.x86_64
rpm-build-libs-4.11.3-32.el7.x86_64
rpm-libs-4.11.3-32.el7.x86_64
rpm-python-4.11.3-32.el7.x86_64
sed-4.2.2-5.el7.x86_64
setup-2.8.71-9.el7.noarch
shadow-utils-4.1.5.1-24.el7.x86_64
shared-mime-info-1.8-4.el7.x86_64
sqlite-3.7.17-8.el7.x86_64
systemd-219-57.el7.x86_64
systemd-libs-219-57.el7.x86_64
tar-1.26-34.el7.x86_64
tzdata-2018e-3.el7.noarch
ustr-1.0.4-16.el7.x86_64
util-linux-2.23.2-52.el7.x86_64
vim-minimal-7.4.160-4.el7.x86_64
xz-5.2.2-1.el7.x86_64
xz-libs-5.2.2-1.el7.x86_64
yum-3.4.3-158.el7.centos.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-plugin-fastestmirror-1.1.31-45.el7.noarch
yum-plugin-ovl-1.1.31-45.el7.noarch
yum-utils-1.1.31-45.el7.noarch
zlib-1.2.7-17.el7.x86_64
144
 

 しかし、なんで dracut が必要なんだろうか。

あるパッケージ(hping3)をいれたいのですが、epel にしかないので、まずは、epel-release をいれます。

# yum install epel-release

# yum -y install hping3

 まあ、これでこのイメージについては、固まった感じですね。次は、ネットワークになじませるところをやりたいですね。