Docker應用三:Dockerfile使用介紹(以安裝redis爲例)

Dockerfile使用介紹c++

 

1、Dockerfile介紹redis

Dockerfile用於自定義建立docker鏡像,是由一行行命令組成的文件。
Docker file中的命令根據做用分爲四類:
1.一、指定基礎鏡像信息指令:
          FROM
1.二、指定維護者信息指令:
          MAINTAINER
1.三、對鏡像操做的指令:
          RUN:後面運行shell命令
          COPY:拷貝本地文件到容器某目錄
          ADD:拷貝本地壓縮包到容器,拷貝完成後在容器內部自動解壓。也支持從url下載文件後拷貝到容器
          VOLUME:指定容器中的某個目錄影射到主機上,能夠使用docker inspect contained 查看主機上的對應目錄
          EXPOSE:指定容器內應用運行的端口號
1.四、容器啓動後執行的命令:
          CMD:在容器中執行的命令,若docker run命令後面指定了shell命令,docker file中的CMD指令會被覆蓋
         ENTRYPOINT:在容器中執行的命令,該命令執行一次,不會被覆蓋 
 
2、Dockerfile應用
本例使用Dockerfile構建redis集羣鏡像
Dockerfile內容以下:
FROM centos         #依賴centos鏡像

MAINTAINER ahaii    #做者信息

RUN groupadd -r redis && useradd -r -g redis redis    
RUN mkdir /data && chown redis:redis /data
VOLUME ["/data"]                            #將容器中的/data目錄掛在到主機中
ADD redis-3.2.8.tar.gz /data/               #拷貝源碼包,並解壓
RUN yum install -y gcc gcc-c++ net-tools make
WORKDIR /data/redis-3.2.8/src/              #切換目錄
RUN make && make install
Copy redis-master.conf .                    #拷貝配置文件
EXPOSE 6801                                 #指定監聽端口
CMD ["redis-server","redis-master.conf"]    #容器啓動後,啓動redis服務

將Dockerfile、redis源碼包以及redis配置文件放在同一目錄下,而後構建redis-master鏡像,在Dockerfile目錄下執行以下命令:docker

docker build -t redis-master .

構建完成後,能夠使用docker images命令查看。shell

運行新構建的redis-master鏡像:centos

docker run --name redis-master -dit -v /etc/localtime:/etc/localtime -p 6379:6379 redis-master

其中,-v /etc/localtime:/etc/localtime表示使用主機時區設置,第一個redis-master表示運行容器的名字,後面的redis-master表示剛纔經過build構建的鏡像的名字。ui

 

查看docker容器內部信息(如ip、物理機掛在位置等):url

docker inspect container_name
相關文章
相關標籤/搜索