Docker Haruka Iwao Storage Solution Architect, Red Hat K.K. February 12, 2015

Similar documents
Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 7編)

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 6編)

03_Docker

Dockerの商用サービスでの利用事例紹介

今日からできる レガシーシステムの段階的コンテナ化

アプリケーションサーバ JBoss超入門

tosh-docker pub

IIJ Technical WEEK アプリ開発を楽にするRuby PaaS「MOGOK」について

Web apache

プレゼンテーション

CentOSv2_furoku

K5コンテナサービスチュートリアル

untitled

bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi

Installation Guide for Linux

OpenAM 13 インストールガイド

161 Debian.Deb 銀河系唯一の Debian 専門誌 GO

Docker/Kubernetes実践コンテナ開発入門

目次 1. Serverspec とは 1.1. Serverspecとは 1.2. Serverspecで出来る事 2. セットアップ 2.1. 必要なもの 2.2. インストール 3. デモ 3.1. デモ環境について 3.2. テスト対象サーバーの登録 3.3. サンプルテストの中身 3.4.

最も一般的な手法: ファイアウォールによってノード間の MPI 通信がブロックされた場合の対応方法

使いこなせて安全なLinuxを目指して

DCL intro Manual for Ubuntu11.10

GitLab + Dokku で作る CI/ CD 環境 Kazuhiro NISHIYAMA 第 78 回 Ruby 関西勉強会 2017/07/29 Powered by Rabbit 2.2.0

スライド 1

Add-onアプリケーション開発 - 環境構築マニュアル -

PowerGres on Linuxマニュアル

PrintWalker/LXE インストールガイド

Alibaba Cloud [ ナレッジドキュメント ] オンプレから Alibaba Cloud ECS へのマイグレーション手順 (Linux 版 ) オンプレから Alibaba Cloud ECS への マイグレーション手順 (Linux 版 ) Ver SB Clou

RouteMagic Controller( RMC ) 3.6 RMC RouteMagic RouteMagic Controller RouteMagic Controller MP1200 / MP200 Version 3.6 RouteMagic Controller Version 3

東京エリアDebian勉強会 - 第86回 2012年3月度

PowerGres on Linux HAマニュアル

Sybase on CLUSTERPRO for Linux HowTo

PowerGres on Linuxマニュアル

9 rbenv rbenv ruby 9.1 rbenv rbenv rbenv ruby ruby-build ruby 9.2 rbenv macos.bash_profile ~/.bash_profile ~/.bash_profile.bak $ touch ~/.bash_profile

2. Docker の基本的な操作 1 docker hub の参照 2 DockerHub の Explorer リンクからアプリケーションを参照 3 アプリケーション検索 4 tag について 3. docker 基本コマンド 1 docker の

Alibaba Cloud [ ナレッジドキュメント ] AWS EC2 から Alibaba Cloud ECS へのマイグレーション手順 (Linux 版 ) AWS EC2 から Alibaba Cloud ECS への マイグレーション手順 (Linux 版 ) Ver

sg_lenovo_os.xlsx

RouteMagic Controller RMC-MP200 / MP Version

オーダーメイド数学活用大事典システム

[当日発表資料]AWS_Summit_CYBIRD_fix.key

自己紹介 伊藤広樹 ( 所属 : 日本電信電話株式会社 ) 2015 年 2016 年 社内 OpenStack 基盤の運用 2017 年 ( 現在 ) Blazarにコントリビュート開始 平井普 ( 所属 :NTTコムウェア) 2011 年 2016 年 NTT 通信網 NW 機器の運用設定 20


Oracle Application Server 10g( )インストール手順書

防災マップ作成システムの開発業務基本設計書

Alibaba Cloud [ ナレッジドキュメント ] AWS EC2 から Alibaba Cloud ECS へのマイグレーション手順 (Linux 版 ) AWS EC2 から Alibaba Cloud ECS へのマイグレーション手順 (Linux 版 ) Ver SB

kiso2-01.key

Ansible

東京エリアDebian勉強会 debootstrapを有効活用してみよう

Nexus アプリケーション開発 - SDK

橡環境設定.PDF


¢‡Í‡Î‡½‡«£85“ƒ

P X-M04-00 PowerChute Network Shutdown PowerChute Network Shutdown Standard v2.2.3a / Enterprise v2.2.3v PowerChute Network Shutdown Standard

PRIMEQUEST 1000シリーズ Linux設計ガイド

Oracle Application Server 10g(9

スライド 1

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment

SecureAssist Enterprise Portal アップグレードガイド Version 対応版 パッケージのダウンロード アップグレード全体の流れ アップグレード作業の詳細手順

.N...[..7...doc

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

Configuring_01

3.2 Linux root vi(vim) vi emacs emacs 4 Linux Kernel Linux Git 4.1 Git Git Linux Linux Linus Fedora root yum install global(debian Ubuntu apt-get inst

IOx の小さい高山 Linux Docker イメージを設定して下さい

技術研究会報告集の書き方

Lync Server 2010 Lync Server Topology Builder BIG-IP LTM Topology Builder IP Lync 2010 BIG IP BIG-IP VE Virtual Edition BIG-IP SSL/TLS BIG-IP Edge Web

Northern Lights Server

Agenda 2

¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ

インストールガイド(Linux)

RouteMagic Controller RMC-MP200 / MP Version

Microsoft Word - PSB導入ガイド_ docx

(Part-3) 3 Why? How Who How Worth Part-1? Whom Part-2 When Part-3? What? Which How Much Part-4 summary 2

install

2011年11月10日 クラウドサービスのためのSINET 学認説明会 九州地区説明会 九州大学キャンパス クラウドシステムの導入 伊東栄典 情報基盤研究開発センター 1

研究ノート GPU CPU Central Processing Unit CPU BTO Build To Order CPU CPU GPGPU Tesla GPU Graphics Processing Units GPGPU General-Purpose computing on Grap

INR-HG5579a_Netshut_Guide_Linux-Solaris_.doc

ExpressUpdate Agent インストレーションガイド

橡Ⅳインストールマニュアル.PDF

変更履歴 Version 日付 変更内容 /8/23 初版作成 /1/17 他ドキュメントのバージョンアップに伴い版数のみ更新 /6/13 他ドキュメントのバージョンアップに伴い版数のみ更新 /1/15 動作環境でインストールするソ

自 己 紹 介 l Nominum 社 の 商 用 DNS,DHCPソフトウェアの 技 術 を 担 当 しています Nominumの 回 し 者 ではありません l l プライベート DNS(Nominum 除 く) unbound, PowerDNS, BIND10とたわむれています DNS 以

<91818C E90B690EA97708CF696B188F58D758DC0838A815B83742E706466>

Red Hat Mobile Application Platform 4.2 RHMAP のインストール

ExpressUpdate Agent インストレーションガイド

untitled

ksocket Documentation

Xen入門 ppt

Xen入門 ppt

意外と簡単!? Oracle Database 11g -バックアップ・リカバリ編-

ソフトウェアエンジニアリング - 機能 #14

nakayama15icm01_l7filter.pptx

Oracle HTML DB 導入ガイド

3 パッケージからのインストール

Alibaba Cloud [ ナレッジドキュメント ] オンプレから Alibaba ECS へのマイグレーション手順 ( イメージ移行版 ) オンプレから Alibaba ECS への マイグレーション手順 ( イメージ移行版 ) _Ver SB Cloud Corp. 2009

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール

untitled

dvi

目次 1. はじめに 本文書の目的 前提条件 略語 事前準備 ホスト名の名前解決 Linux 版パッケージ システム要件 ソフトウェア要件 パッケージ構成

1996 Only One Technology NetJapan System Data Protection Solutions 2009 ActiveImage Protector ActiveImage Protector OS NetJapan System Protection Solu

unix.dvi

System Purpose in Red Hat Enterprise Linux 8 Shinji Kito Sr. Technical Account Manager 2019/06/05 1

Transcription:

Docker Haruka Iwao Storage Solution Architect, Red Hat K.K. February 12, 2015

(@Yuryu) : Web (HPC) ( MMORPG)

Docker Web OS nginx HTML nginx OS nginx nginx RHEL RHEL OS

Docker 2 Dockerfile $ docker build -t <tag> Dockerfile ) $ docker build -t yuryu/test.

Dockerfile ) FROM registry.access.redhat.com/rhel RUN yum - y install httpd ADD index.html /var/www/html/index.html EXPOSE 80 CMD ["/usr/sbin/httpd", "- DFOREGROUND"]

Dockerfile FROM - RUN - ADD - EXPOSE - CMD - FROM registry.access.redhat.com/rhel RUN yum - y install httpd ADD index.html /var/www/html/index.html EXPOSE 80 CMD ["/usr/sbin/httpd", "- DFOREGROUND"]

Dockerfile (2) MAINTAINER - USER - WORKDIR - COPY - ADD https://docs.docker.com/reference/ builder/

$ docker run -d -P EXPOSE $ mkdir demo- apache $ cd demo- apache $ curl - L - o Dockerfile bit.ly/1fa902p $ echo Hello, Docker! > index.html $ build - t demo- apache. $ docker run - dp demo- apache

docker build [yuryu@rhel7 docker- apache]$ docker build - t demo- apache. Sending build context to Docker daemon 3.584 kb Sending build context to Docker daemon Step 0 : FROM registry.access.redhat.com/rhel - - - > e1f5733f050b Step 1 : RUN yum - y install httpd - - - > Using cache - - - > 3679b20fa9ba Step 2 : ADD index.html /var/www/html/index.html - - - > Using cache - - - > db91c285d5ad Step 3 : EXPOSE 80 - - - > Using cache - - - > c9ceb17b169f Step 4 : CMD /usr/sbin/httpd - DFOREGROUND - - - > Using cache - - - > 4e99155706f6 Successfully built 4e99155706f6

docker run ID [yuryu@rhel7 docker- apache]$ docker run - dp demo- apache 8d6b20a1e23427ad575bed1aee9cbea5406e5ed648a645e955cd6c6c6a 34ea0a [yuryu@rhel7 docker- apache]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8d6b20a1e234 demo- apache:latest "/usr/sbin/httpd - DF 4 seconds ago Up 4 seconds 0.0.0.0:49247- >80/tcp jovial_jones

$ docker run -p <host port>:<guest port> $ docker port [yuryu@rhel7 docker- apache]$ docker run - dp 80:80 demo- apache b027be3d09ace7c8cac594c14d07d3ddda5c32f15e14f8a28297714a69 723c54 [yuryu@rhel7 docker- apache]$ docker port b027be3d09ac 80/tcp - > 0.0.0.0:80

--link < >:alias EXPOSE # docker run - d - e MYSQL_ROOT_PASSWORD=root - - name mysql mysql # docker run - it - - link mysql:mysql mysql /bin/bash # env grep MYSQL_PORT MYSQL_PORT_3306_TCP_PORT=3306 MYSQL_PORT_3306_TCP=tcp://172.17.0.155:3306 MYSQL_PORT_3306_TCP_PROTO=tcp MYSQL_PORT_3306_TCP_ADDR=172.17.0.155 MYSQL_PORT=tcp://172.17.0.155:3306 # mysql - - host=$mysql_port_3306_tcp_addr - - port= $MYSQL_PORT_3306_TCP_PORT - - password=root

( ) EXPOSE link alias ALIAS_PORT_XXX ALIAS_PORT_XXX_TCP ALIAS_PORT_XXX_TCP_PROTO ALIAS_PORT_XXX_TCP_ADDR ALIAS_PORT_XXX_TCP_PORT

: VOLUME /var/lib/mysql --volumes-from < > Data-only # docker run - d - - name mysql_volume mysql echo MySQL Volume Container # docker run - - volumes- from mysql_volume - d - e MYSQL_ROOT_PASSWORD=root - - name mysql mysql Docker 1.4 docker run docker create ( )

-v <host path>:<container path> SELinux # chcon -Rt svirt_sandbox_file_t $ mkdir mysql- volume; cd mysql- volume $ sudo chcon - Rt svirt_sandbox_file_t. $ docker run - v $(pwd):/var/lib/mysql - - name mysql - e MYSQL_ROOT_PASSWORD=root - d mysql

Data-only tar $ mkdir mysql- volume; cd mysql- volume $ sudo chcon - Rt svirt_sandbox_file_t. $ sudo docker run - - volumes- from mysql_volume - v $(pwd):/ backup - - name mysql- backup fedora tar cfz /backup/mysql- backup.tar.gz /var/lib/mysql $ sudo docker run - - volumes- from mysql_volume - v $(pwd):/ backup - - name mysql- restore fedora tar xf /backup/mysql- backup.tar.gz - C /

Data only VOLUME volumes-from -v <host>:<container>

Docker CI A GitHub B C

GitHub https://github.com/yuryu/docker- jenkins- demo Red Hat Enterprise Linux

Jenkins Dockerfile FROM registry.access.redhat.com/rhel MAINTAINER Haruka Iwao RUN yum - y upgrade RUN curl - o /etc/yum.repos.d/jenkins.repo http://pkg.jenkins- ci.org/redhat/jenkins.repo RUN rpm - - import https://jenkins- ci.org/redhat/jenkins- ci.org.key RUN yum - y install jenkins java git docker ADD run- jenkins.sh /root/run- jenkins.sh EXPOSE 8080 CMD /root/run- jenkins.sh

run-jenkins.sh #!/bin/sh JENKINS_HOME="/var/lib/jenkins" JENKINS_USER="jenkins" JENKINS_JAVA_OPTIONS="- Djava.awt.headless=true" JENKINS_PORT="8080" JENKINS_HANDLER_MAX="100" JENKINS_HANDLER_IDLE="20" JAVA_CMD="/usr/bin/java $JENKINS_JAVA_OPTIONS - DJENKINS_HOME=$JENKINS_HOME - jar /usr/lib/jenkins/jenkins.war" OPTIONS="- - httpport=$jenkins_port - - handlercountmax=$jenkins_handler_max - - handlercountmaxidle=$jenkins_handler_idle " cd "$JENKINS_HOME" exec runuser - u $JENKINS_USER - - $JAVA_CMD $OPTIONS

Slave Dockerfile FROM registry.access.redhat.com/rhel MAINTAINER Haruka Iwao RUN yum - y upgrade RUN yum - y swap - - remove fakesystemd - - install systemd systemd- libs RUN yum - y install openssh- server java- 1.7.0- openjdk RUN adduser jenkins RUN echo "jenkins:jenkins" chpasswd RUN ssh- keygen - f /etc/ssh/ssh_host_rsa_key - N '' - t rsa RUN ssh- keygen - f /etc/ssh/ssh_host_dsa_key - N '' - t dsa RUN ssh- keygen - f /etc/ssh/ssh_host_ecdsa_key - N '' - t ecdsa RUN yum - y install gcc gcc- c++ automake autoconf make git libtool EXPOSE 22 CMD ["/usr/sbin/sshd", "- D"]

Slave RHEL systemd fakesystemd systemd systemd yum -y swap -- remove fakesystemd -- install systemd systemd-libs systemd init

Jenkins Docker Plugin Jenkins Docker

Docker TCP listen Jenkins /etc/sysconfig/docker! OPTIONS=- - selinux- enabled - H tcp://172.17.42.1:5555 - H fd://

Jenkins Data-only Jenkins $ docker run - d - v /var/lib/jenkins - - name jenkins- home yuryu/demo- jenkins echo Data- only container for jenkins $ docker run - - volumes- from jenkins- home - d - p 8080:8080 yuryu/demo- jenkins

Jenkins Manage Jenkins > Configure System

Docker Manage Jenkins > Docker

autoconf / gtest C https://github.com/yuryu/gtest- demo

configure

commit

cadvisor Docker https://github.com/google/cadvisor

cadvisor

cadvisor # setenforce Permissive $ docker run \ - - volume=/:/rootfs:ro \ - - volume=/var/run:/var/run:rw \ - - volume=/sys:/sys:ro \ - - volume=/var/lib/docker/:/var/lib/docker:ro \ - - publish=8080:8080 \ - - detach=true \ - - name=cadvisor \ - - volume=/cgroup:/cgroup \ google/cadvisor:latest