iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 26
1
Cloud

用30天來建構和操作Apache Mesos系列 第 26

Day26:在Mesos上執行Docker Container(二)

昨天已經簡單的介紹了docker的安裝和一些操作docker的指令,今天要介紹如何撰寫dockerfile以及建構出docker image。

今天我就寫一個mysql service的dockerfile,之後還會把這個dockerfile build成docker image,放在mesos上執行。

1.建立Dockerfile,操作指令和檔案內容如下

# vi Dockerfile

檔案內容如下

FROM centos:6.6
RUN yum install -y epel-release
RUN yum install -y mysql-server supervisor

RUN service mysqld start; \
    mysql -uroot -e "GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'admin'"; \
    mysql -uroot -padmin -e "GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'admin'"; \
    mysql -uroot -padmin -e "CREATE DATABASE dbtest"

ADD ./start.sh /start.sh
CMD ["/bin/bash", "/start.sh"]

上面的指令主要是下載mysql、設定mysql的權限以及啟動mysql service,在build的時侯會被執行到這些指令,然後存入docker image裡

2.建立start.sh用來啟動mysql用的,操作指令和檔案內容如下

# vi start.sh

檔案內容如下

#/bin/bash
service mysqld start
supervisord -n

3. Build docker image指令如下

# docker build -t mysql:5.4 .

4.查看docker image是否有build成功

#docker images|grep mysql

http://ithelp.ithome.com.tw/upload/images/20161226/201034562YwtKT0rBt.png

5.啟動mysql的docker container,指令如下

#docker run -d -p 3306:3306 --restart=always mysql:5.4

http://ithelp.ithome.com.tw/upload/images/20161226/20103456EVCWoRWDJc.png

測試mysql container,指令如下

#mysql -h 192.168.1.223 -u root -p

密碼:admin

執行結果如下

http://ithelp.ithome.com.tw/upload/images/20161226/20103456GPkxEyUXo6.png

今天已經簡單的介紹如何寫dockerfile、build出docker image、執行docker container最後測試是否能操作mysql service的container。明天還會繼續介紹build完的docker image推入到docker registry,最後的目標是能在mesos上執行docker container。


上一篇
Day25: 在Mesos上執行Docker Container(一)
下一篇
Day27:在Mesos上執行Docker Container(三)
系列文
用30天來建構和操作Apache Mesos30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言