【OSSチャレンジ】 第2回 Docker紹介編

2017.2.24


はじめに

photo-1460400408855-36abd76648b9.jpg

最近ではDockerやコンテナと言う単語を聞く機会が増えてきたと思いますが皆さんはどんな技術かご存知でしょうか。

今回の記事ではそのDockerについて紹介していきたいと思います。

Dockerの特徴

DockerとはDocker社が開発しているコンテナ型仮想化のためのオープンソースソフトウェアです。
このソフトウェアではコンテナと呼ばれている軽量の仮想環境を構築することができます。

コンテナは仮想マシンとは違い、ゲストOSがなくKernelを共有しているためオーバーヘッドが少くないのが特徴です。そのため、ゲストOSがそれぞれKernelを持たないためメモリ消費量やディスク消費量を節約することができます。
これにより、Kernelを起動する必要がなくゲストOSの起動が早くなっています。

docker,HW仮想化比較.png

コンテナで使用した設定はDockerイメージとして保存することができます。

また、他の人が使用したコンテナもDockerイメージとして保存されていれば、プログラムが動いた環境をそのまま別環境でも使用することができます!
この機能はDockerの強みであり、アプリケーション開発者などがハードウェアの調達やメンテナンス、ITシステムのチューニングを行う必要がなく時間の短縮にも繋がります。

Dockerイメージとコンテナの違いですが、イメージはDockerを実行時に使用されるファイルシステムのパラメータであり、コンテナはイメージ実行中のVMのことを指します。

Dockerを使ってみよう!

それではDockerをインストールして実際に触ってみましょう!今回はパブリッククラウド上のCentOS7をホストOSとして使用しました。

まずDockerをインストールします。

$ sudo yum -y install docker-io
$ sudo systemctl enable docker.service
$ sudo systemctl start docker.service

今回は以前に当ブログで紹介した「【OpenStackチャレンジ】 第20回 構成管理ツール「Ansible」を用いたOpenStack上のサーバ構築」の環境をコンテナ上で構築してみます。

コンテナでAnsibleの環境を再現した理由としては、OpenStackモジュールが依存するshadeというライブラリをインストールするのに手間がかかったためです。作成したコンテナをイメージとして保存しておけばいつでもAnsibleの環境を使用できるようになります。

それではコンテナを作成するために、まずCentOSのDockerイメージを検索します。docker search [検索したいワード]コマンドで検索することができます。

$ sudo docker search centos

INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/centos The official build of CentOS. 2952 [OK]
docker.io docker.io/jdeathe/centos-ssh CentOS-6 6.8 x86_64 / CentOS-7 7.3.1611 x8... 51 [OK]
docker.io docker.io/nimmis/java-centos This is docker images of CentOS 7 with dif... 20 [OK]
docker.io docker.io/million12/centos-supervisor Base CentOS-7 with supervisord launcher, h... 12 [OK]
docker.io docker.io/torusware/speedus-centos Always updated official CentOS docker imag... 8 [OK]
docker.io docker.io/egyptianbman/docker-centos-nginx-php A simple and highly configurable docker co... 6 [OK]
docker.io docker.io/nathonfowlie/centos-jre Latest CentOS image with the JRE pre-insta... 5 [OK]
docker.io docker.io/centos/mariadb55-centos7 3 [OK]
docker.io docker.io/centos/tools Docker image that has systems administrati... 2 [OK]
docker.io docker.io/harisekhon/centos-java Java on CentOS (OpenJDK, tags jre/jdk7-8) 2 [OK]
docker.io docker.io/blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK]
docker.io docker.io/centos/redis Redis built for CentOS 1 [OK]
docker.io docker.io/darksheer/centos Base Centos Image -- Updated hourly 1 [OK]
docker.io docker.io/harisekhon/centos-scala Scala + CentOS (OpenJDK tags 2.10-jre7 - 2... 1 [OK]
docker.io docker.io/sgfinans/docker-centos CentOS with a running sshd and Docker 1 [OK]
docker.io docker.io/timhughes/centos Centos with systemd installed and running 1 [OK]
docker.io docker.io/aguamala/centos CentOS base image 0 [OK]
docker.io docker.io/grayzone/centos auto build for centos. 0 [OK]
docker.io docker.io/grossws/centos CentOS 6 and 7 base images with gosu and l... 0 [OK]
docker.io docker.io/januswel/centos yum update-ed CentOS image 0 [OK]
docker.io docker.io/kz8s/centos Official CentOS plus epel-release 0 [OK]
docker.io docker.io/repositoryjp/centos Docker Image for CentOS. 0 [OK]
docker.io docker.io/smartentry/centos centos with smartentry 0 [OK]
docker.io docker.io/ustclug/centos USTC centos 0 [OK]
docker.io docker.io/vcatechnology/centos A CentOS Image which is updated daily 0 [OK]

以上のようにCentOSを含んだ多くのDockerイメージが表示されます。
また、Docker Hubを使用することによってGUIからもイメージを検索することができます。

docekerブログ_161228.png

ここで欲しいDockerイメージを検索し、pullします。
今回はオフィシャルのCentOSイメージをpullしました。

$ sudo docker pull centos

イメージのpullが正しくできたか確認してみましょう。
$ sudo docker images

REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 688353a31fde 2 hours ago 191.8 MB

pullできていたのでイメージをコンテナ化しましょう!コンテナ化するコマンドの構文は

sudo docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]  と記述します。

$ sudo docker run -i -t -p 80:80 centos /bin/sh

sh-4.2#

コンテナを起動することに成功しました。docker runコマンドで実行したときは自動的にコンテナ内にログインします。また、pullしていないイメージをコンテナとして起動した場合、自動的にイメージをpullしコンテナを起動させます。この場合、コンテナ内への自動ログインは行われません。それではここでコマンドで実行時に使用する主なオプションを紹介します。

 -d  バックグラウンドで実行する。
 -i コンテナの標準入力を開く。
 -t 仮想端末を割り当てる。
 -p ホストとコンテナのポートマッピング。
 -v ホストとコンテナのディレクトリ共有。

コンテナからログアウトする際はCtrl+p後にqを押下するとログアウトします。

exitでもログアウト可能ですがコンテナが毎回落ちてしまうため再度開始する必要があります。

起動しているコンテナを表示してみます。
$ sudo docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d0435c26d1c centos "/bin/sh" 27 seconds ago Up 26 seconds 0.0.0.0:80->80/tcp tiny_blackwell

コンテナの詳細を確認してみます。
$ sudo docker inspect 2d0435c26d1c

[
    {
        "Id": "2d0435c26d1c2a531bda70116103082c49a53664dac2d963ce9aa89e78a23863",
        "Created": "2017-01-25T13:37:20.547132881Z",
        "Path": "/bin/sh",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 21309,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2017-01-25T15:57:16.785304125Z",
            "FinishedAt": "2017-01-25T15:56:45.707980458Z"
        },
        "Image": "sha256:67591570dd29de0e124ee89d50458b098dbd83b12d73e5fdaf8b4dcbd4ea50f8",
        "ResolvConfPath": "/var/lib/docker/containers/2d0435c26d1c2a531bda70116103082c49a53664dac2d963ce9aa89e78a23863/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/2d0435c26d1c2a531bda70116103082c49a53664dac2d963ce9aa89e78a23863/hostname",
        "HostsPath": "/var/lib/docker/containers/2d0435c26d1c2a531bda70116103082c49a53664dac2d963ce9aa89e78a23863/hosts",
        "LogPath": "",
        "Name": "/tiny_blackwell",
        "RestartCount": 0,
        "Driver": "devicemapper",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "journald",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "80"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "docker-runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": -1,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0
        },
        "GraphDriver": {
            "Name": "devicemapper",
            "Data": {
                "DeviceId": "12",
                "DeviceName": "docker-253:0-68168043-d67b63dd1310c8642cd60867d74ce8aaa53e36e001f488e3a032d6ee16c4a262",
                "DeviceSize": "10737418240"
            }
        },
        "Mounts": [],
        "Config": {
            "Hostname": "2d0435c26d1c",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh"
            ],
            "Image": "centos",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "build-date": "20161214",
                "license": "GPLv2",
                "name": "CentOS Base Image",
                "vendor": "CentOS"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "5cca07769d229dcac68dcc12fbb8a0a853e928778902531ce307e9ee1892e05c",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "80"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/5cca07769d22",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "3f7f15ee37c6447ca0a015a80cf718e94de97b70c50120977d71d5dadd692a49",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "0aa4ae87f1b45cce5e73b4fa719da00744423ca63f7d53a751152c6624c49c97",
                    "EndpointID": "3f7f15ee37c6447ca0a015a80cf718e94de97b70c50120977d71d5dadd692a49",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02"
                }
            }
        }
    }
]

現在のコンテナの構成を確認することができます。
IPアドレスが172.17.0.2やImageがcentosなど確認することができました。

再度ログインしてみます。全てのコンテナには固有のIDがあるため、ログインするコンテナのIDを指定します。(イメージIDとコンテナIDは異なるため注意しましょう。)
$ sudo docker attach b9c9ac3aea43

sh-4.2#

再度ログインできました。

それでは「【OpenStackチャレンジ】 第20回 構成管理ツール「Ansible」を用いたOpenStack上のサーバ構築」で行った手順を進めてみましょう。今回のブログではConoHa上でコンテナイメージを作成しました。

今回使用したCentOSイメージではwhichコマンドが使用できませんでしたのでインストールしておきます。
# yum install which

手順通りAnsibleの環境ができたらDockerイメージをDockerHubにpushしていきます。

まずDockerHubアカウントにログインします。
$ sudo docker login

Username: 
Password: 
Email: 

それぞれ入力します。成功したことを確認したらコミットしていきます。

コミットはdocker commit [NAMES] [DockerHubユーザ名/イメージ名]と記述します。
$ sudo docker commit drunk_jones rkobane/ansible_blog

[NAMES]はdocker ps で確認することができます。

次にタグ付けを行います。
タグ付けを行わない場合はpushすることができません。
タグ付けはdocker tag [イメージID] [DockerHubユーザ名/イメージ名:バージョンのラベル]と記述します。
$ sudo docker tag 4c15ed80cb28 rkobane/ansible_blog:latest
イメージIDとバージョンのラベルに関してはdocker imagesで確認することができます。

それではDockerHubにpushしてみましょう!
$ sudo docker push rkobane/ansible_blog:latest

DockerHubを見るとpushされたことが確認できました。

dockerhubpull.png

pushされたDockerイメージはpullすることによって使用することができます。

コンテナの削除も試してみます。削除するためにまずコンテナを停止させましょう。

$ sudo docker stop b9c9ac3aea43
$ sudo docker rm b9c9ac3aea43
$ sudo docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

特にIDなどが記載されていないため、コンテナが削除されたことが確認できました。

おわりに

今回はDockerを使用した仮想化の紹介をしました。
Dockerコンテナを使用することで事前準備や環境依存による問題もなくなるため今後更に普及していくのではないでしょうか。
今回DockerHubにpushしたイメージはよかったら使ってみてください。
使用する場合は環境変数を読み込む必要があるので以下のコマンドを実行して、rootディレクトリ直下にあるplaybookの内容を書き換えてみてください!
# source ~/.bashrc
# mkvirtualenv --python /opt/python2.7.10/bin/python2.7 --no-site-packages venv 
# source ansible/hacking/env-setup

今回も最後までお付き合いを頂き、ありがとうございました。

文:小羽根 陸

photo-1441742917377-57f78ee0e582.jpg

参考文献
CoreOS docker コマンド http://d.hatena.ne.jp/kt_hiro/20140809/1407545821
Docker Offical Site https://docs.docker.com/
paiza開発日記 http://paiza.hatenablog.com/entry/docker_intro
アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識
http://www.atmarkit.co.jp/ait/articles/1405/16/news032.html



OSSと同じカテゴリーの記事



RSS
最近のエントリー
2017.4.21
【検証自動化】第6回 AT-CLabを使ってみる
2017.4.21
【OSSチャレンジ】第4回 Elasticsearch紹介
2017.4. 7
【OSC2017 Tokyo/Spring】OpenStackを宇宙で!?
2017.3.28
【OSSチャレンジ】 第3回 Bacula紹介:後編
2017.3. 9
【OpenStackチャレンジ】 第29回 Ocata紹介編
2017.2.24
【OSSチャレンジ】 第2回 Docker紹介編
2017.2.20
【OSSチャレンジ】 第1回 Bacula紹介:前編
2017.2. 1
【体験記】最後のフロンティア!? ~ミャンマー 体験記~
2017.1.18
【データベース】pgpool-IIによるDBサーバ負荷分散
2016.12.16
【ログ解析】第2回Splunkのログ解析
2016.12. 9
LPIC304 体験記
2016.11.19
【OSC2016 Tokyo/Fall】VRとOpenStackを連携
2016.11.11
【次世代通信技術】 第1回 5G入門編
2016.10.28
【ログ解析】第1回Splunkの紹介と起動
2016.10.21
【OpenStackチャレンジ】 第28回 Stackalytics登録編
2016.10.14
【OpenStackチャレンジ】 第27回 OpenStack Newton紹介編
2016.10. 7
【検証自動化】第5回 Selenium IDEで記録したテストをJenkinsのジョブから実行する ~PC一台でブラウザテストを自動化~【後編】
2016.9.30
【OpenStackチャレンジ】 第26回 Neutron環境構築編
2016.9.23
【いまさら聞けない!エンジニアの基本シリーズ】 第6回 きれいなログにするためのLinuxお作法
2016.9.16
【OpenStackチャレンジ】 第25回 Nova環境構築編
2016.9. 9
【OpenStackチャレンジ】 第24回 Cinder環境構築編
2016.9. 2
【OpenStackチャレンジ】 第23回 OpenStackコミュニティ~翻訳編
2016.8.26
【OpenStackチャレンジ】 第22回 Glance環境構築編
2016.8.19
【検証自動化】第4回 Selenium IDEでテストケースを記録・実行する ~PC一台でブラウザテストを自動化~【前編】
2016.8. 9
【OpenStackチャレンジ】 第21回 OpenStackコミュニティ 日本語翻訳チーム参加編
2016.8. 5
【OpenStackチャレンジ】 第20回 構成管理ツール「Ansible」を用いたOpenStack上のサーバ構築
2016.7.29
【検証自動化】第3回 IT検証フォーラム2016に出展しました!
2016.7.22
【OpenStackチャレンジ】 第19回 OpenStack Upstream Training編
2016.7.15
【検証自動化】第2回 TestShell+TestCenter連携編
2016.7. 8
【OpenStackチャレンジ】 第18回 HEAT紹介編
2016.7. 4
QNAP紹介(Dockerコンテナ&OpenStack Swift連携)
2016.6.26
【いまさら聞けない!エンジニアの基本シリーズ】 第5回 GitHubを使いこなそう
2016.6.19
【OpenStackチャレンジ】 第17回 Zabbix環境構築編
2016.6.12
【検証自動化】第1回 TestShell編
2016.6. 5
【OpenStackチャレンジ】 第16回 Mirantis 「OpenStack FUEL管理」セミナー紹介編
2016.5.29
【OpenStackチャレンジ】 第15回 Swift環境構築編
2016.5.22
【OpenStackチャレンジ】 第14回 Keystone環境構築編
2016.5.15
【OpenStackチャレンジ】 第13回 Mirantis OpenStack紹介編
2016.5. 2
【OpenStackチャレンジ】 第12回DevStack~ Ironic環境構築編
2016.4.24
【OpenStackチャレンジ】 第11回 インフラエンジニア必見のOpenStackセミナーを開催しました!
2016.4.17
【OpenStackチャレンジ】 第10回 OpenStack Mitaka紹介編
2016.4.10
【Linuxを使いこなす】 CentOSのローカルリポジトリを構築しよう
2016.4. 3
【OpenStackチャレンジ】 第9回 仮想マシンが起動するコンピュートノードを指定してみよう
2016.3.29
【OpenStack チャレンジ】 第8回 ゲストマシンの性能比較をしてみました!
2016.3.19
【OSC2016】第3回 ChatOpsでOpenStackをAPIから制御する
2016.3.12
【OSC2016】第2回Let'sChat Hubot編
2016.3. 4
【OSC2016】第1回ChatOpsの構築
2016.1.31
【OpenStackチャレンジ】 第7回 DevStack~All-In-One Single Machine編
2016.1.22
【OpenStackチャレンジ】 第6回 policy.json紹介編
2016.1.13
【OpenStackチャレンジ】 第5回 Ceilometerについて知ろう!
2016.1. 8
【いまさら聞けない!エンジニアの基本シリーズ】 第4回 VMware基本動作編
2015.12.24
【1年間ありがとう!】2015年度エンジニアブログ アクセスランキング発表!
2015.12.18
【SDNチャレンジ】 第29回 Mininet編
2015.12.14
【いまさら聞けない!エンジニアの基本シリーズ】 第3回 VMwareインストール編
2015.12.10
【OpenStackチャレンジ】第4回 ConoHaでOpenStack環境を構築!
2015.12. 4
【いまさら聞けない!エンジニアの基本シリーズ】 第2回 VirtualBox基本動作編
2015.12. 4
【OpenStackチャレンジ】 第3回 OpenDaylight(Lithium)との連携に挑戦!
2015.11.27
【いまさら聞けない!エンジニアの基本シリーズ】 第1回 VirtualBoxインストール編
2015.11.20
【SDNチャレンジ】 第28回 WiresharkでOpenFlowを解析しよう!
2015.11.15
OpenStackの技術者認定資格「OPCEL認定試験」に合格しました!
2015.11. 9
「Windows Server 2003」から「Windows Server 2012 R2」への移行に不安を抱えるお客様へ
2015.11. 6
【SDNチャレンジ】 第27回 OpenMUL編
2015.10.30
【SDNチャレンジ】 第26回 ONOS-BGPルータ編
2015.10.23
【SDNチャレンジ】 第25回 ONOS GUI編 / [告知]10/24(土),25(日)にOSCに出展します!
2015.10.16
【SDNチャレンジ】 第24回 ONOSインストール編
2015.10. 9
【SDNチャレンジ】 第23回 OpenDaylightユーザ会に参加しました/Lithiumインストール編
2015.10. 2
【SDNチャレンジ】 第22回 Trema-edge編
2015.9.29
【OpenStackチャレンジ】 番外編 10/26(月)からLPI-Japanの「OPCEL認定試験」がスタートします!
2015.9.25
【SDNチャレンジ】 第21回 POX編
2015.9.18
【OpenStackチャレンジ】 第2回 コンポーネント紹介編
2015.9.11
【SDNチャレンジ】 第20回 Floodlight編
2015.9. 4
【OpenStackチャレンジ】 第1回 OpenStackインストール編
2015.9. 3
【ウェブサイトのロードテストをする】 最終回 Siege編
2015.8.28
【SDNチャレンジ】 第19回 Raspberry Piでユースケースに挑戦!
2015.8.21
【SDNチャレンジ】 第18回 OF-Patch動作編
2015.8.13
【SDNチャレンジ】 第17回 OF-Patch紹介編
2015.8. 7
Windows10をインストールしてみました!
2015.8. 4
【ウェブサイトのロードテストをする】 第3回 Tsung編
2015.7.31
【SDNチャレンジ】 第16回 Ryuコントローラインストール編
2015.7.25
【SDNチャレンジ】 第15回 Open vSwitch性能試験編
2015.7.17
【SDNチャレンジ】 第14回 Tcpreplay編
2015.7.17
RedHat OpenStack 管理者認定試験に合格しました!
2015.7.11
【SDNチャレンジ】 第13回 Vyattaコントローラ REST API編
2015.7. 3
【SDNチャレンジ】 第12回 Vyattaコントローラ動作編
2015.7. 1
【ウェブサイトのロードテストをする】 第2回 curl-loader編
2015.6.26
【SDNチャレンジ】 第11回 OpenDaylight動作編②
2015.6.19
【SDNチャレンジ】 第10回 OpenDaylight動作編①
2015.6.18
【ウェブサイトのロードテストをする】 第1回 Apache JMeter編
2015.6.12
【SDNチャレンジ】 第9回 リピーターハブとラーニングスイッチの動作比較編
2015.6. 5
【SDNチャレンジ】 第8回 Tremasharkインストール編
2015.5.25
【SDNチャレンジ】 第7回 帯域制御・ファイアウォール・パケット書換え編
2015.5.22
【SDNチャレンジ】 第6回 ラーニングスイッチ作成編
2015.5.15
【SDNチャレンジ】 第5回 Raspberry Pi2にOpen vSwitchをインストール
2015.5. 8
【SDNチャレンジ】 第4回 5/13(水)、14(木)、15(金)の展示会にて検証自動化デモを実施します!
2015.4.27
【SDNチャレンジ】 第3回 Tremaリピーターハブ編
2015.4.21
【SDNチャレンジ】 第2回 OpenFlowコントローラ作成編
2015.4.14
【SDNチャレンジ】 第1回 Tremaインストール編
2014.8.20
【注意!】8月13日のWindows Updateを適用すると起動できなくなる事例が報告されています!
2014.5.23
約6割の企業が悩んでいるのに、対策しないんですか...?
2014.1. 9
新年あけましておめでとうございます。
2013.12.24
2013年エンジニアブログ アクセスランキング発表!
2013.12.17
コミュニケーション「活性化」の第一歩
2013.10.29
なぜ儲かっているのか分からない!?
2013.10.15
「何を変えるのか、何に変えるのか、どのように変えるのか」
2013.9.17
ブラック企業にドラッカーがアドバイスするとしたら?
2013.9. 4
蟻の穴から堤も崩れる
2013.8. 6
派閥じゃなくて、理念の元に仕事をしよう!
2013.7.31
知識は使ってナンボです!
2013.7.30
御社の相互理解度はどれくらい?
2013.7. 3
何故、それが読まれたか~上半期・エンジニアブログ閲覧数ランキング~
2013.6.12
「何」を知っているかではなく、「誰」が知っているか
2013.5.28
戦後、人間尊重の信念を貫きとおした1人の経営者がいた!
2013.5.24
健康な心が、健康な会社を作る。
2013.4.26
『社長にはもうついていけません・・・』
2013.4.23
仕事と生活をバランスさせるには?
2013.4. 2
組織に必要なのは「ゆらぎ」と・・・?
2013.3.21
代表小林、バングラディシュの地に再度降り立つ
2013.3.14
色々作っちゃいました!
2013.3. 5
「心のバランスシート」に着目していますか?
2013.2. 6
Office2013発売!で、何が変わった?
2013.2. 1
「想いを語る夕べ」が新宿から30分の場所で開催可能に!
2012.12.25
エンジニアブログ番外編:決戦は「ひなたかなた」
2012.12.19
2012年エンジニアブログ&Facebook閲覧数ランキング発表!
2012.11.29
プロセス見直すのはいいけれど...大事なこと忘れてません?
2012.10.31
「仕事」と「個々の生活」の両立~ワーク・ライフ・バランス~
2012.10.26
Windows8発売!で何が起こる?
2012.10. 9
腹が減っては打ち合わせは出来ぬ?~アドック近辺ランチスポット・カフェ編~
2012.10. 2
iPhone5発売!LTE普及には切実な背景が...
2012.9.12
「だれを選ぶか」をまず決めて、その後に「何をすべきか」を決める。
2012.8.17
会社を回すのに大事な3つの感覚。
2012.8. 7
プロジェクトはたいてい失敗に終わるんです。
2012.7.19
『目の前に壁があったら、突き破るしかねえんだよ』by鬼塚
2012.7. 2
大手企業も多数協賛する「東京経営塾」の塾長とは!?
2012.6.15
メンタルヘルスケアジャパン2012報告!
2012.6. 4
御社の理念浸透力はどれくらい?!
2012.5.14
メンタルヘルスケアジャパン2012参加のお知らせ
2012.4.27
東京スカイツリーと地デジとADOC
2012.4.17
マイボトル・マイカップキャンペーン/エンジニアブログ1周年記念
2012.3.14
第1回「想いを語る夕べ」体験会レポート~伝えることの難しさ~
2012.2.29
想いを語る夕べ報告書を新聞にしちゃいました!
2012.2. 6
月刊『ニュートップリーダー』に記事掲載&"想いを語る夕べ"体験会やります!
2012.1.31
【第4回】想いを語る夕べ~フォロー編~
2012.1.23
タニタの社員食堂は"トップの想い"から生まれた!?
2012.1.13
【第3回】想いを語る夕べ~実施編~
2011.12.27
オフィスで簡単エクササイズ!
2011.12.13
【第2回】想いを語る夕べ~準備編~
2011.11.24
【第1回】想いを語る夕べ~誕生編~
2011.11.17
「責任感だけで仕事をしていた・・・。」が「自らサービスを作り上げ、喜びを感じたい!」という熱い想いに変わるまで
2011.11. 8
アドックインターナショナルはGoogleのまわし者!?
2011.10.11
あなたのその行動、誰かに監視されてませんか?
2011.9.28
たったこれだけのことで、チームに一体感が生まれる!?
2011.9.22
ADOCersがITS健康保険組合の野球大会に出場します!
2011.9.21
アドックに入社するとコンサートホールで歌えてグァムに行けるってホント?
2011.8.30
アドック社員元気の素!?
2011.8.16
電力使用制限発動!罰金は100万円!?PC電力管理ソフトのススメ
2011.8. 9
「ネットトラブル調査隊」対象エリア拡大しました!(後日談付き)
2011.8. 1
Windows7にはメールソフトが付いてない!?
2011.7.22
「社長の想いを語る夕べ」プログラムのご紹介
2011.7.12
64ビット版Windowsへの移行について
2011.7. 8
検証やテストを自動化する際に気を付けなければいけない3つの事
2011.7. 5
地デジと周波数再編とADOC
2011.6.29
アドックインターナショナルの節電対策とスーパークールビズ
2011.6.27
あるレンタカー事業会社のケース
2011.6.20
ラボルームのご紹介
2011.6.17
Interop Tokyo 2011に行ってきました!
2011.6. 7
ADOCの保守サービスと震災対応
2011.5.31
"メンタルヘルスケア・ジャパン2011"レポート
2011.5.19
「おばあちゃん家」
2011.5.11
スマートフォンは急速に普及している・・・?
2011.5. 9
ADOCの品質改善活動への取り組み事例をご紹介
2011.4.19
ADOCのお花見と節電への取り組み
2011.4. 6
復興支援のため東北へ向かっていた弊社の社員2名が戻ってきました!その2
2011.3.31
復興支援のため東北へ向かっていた弊社の社員2名が戻ってきました!
2011.3.28
弊社パートナーが被災地支援のサービス開始
2011.3.25
震災により表面化した携帯通信網の弱さ
2011.2.28
エンジニアブログスタートのお知らせ
カテゴリー
月別アーカイブ

<