1. 程式人生 > >使用Dockerfile建立映象,Docker compose部署服務

使用Dockerfile建立映象,Docker compose部署服務

一、Dockerfile指令簡介

1、FROM指定來源於哪個映象

例如:FROM centos  FROM centos:latest
2、MAINTAINER指定作者資訊

例如:MAINTAINER wyu wyu.com
3、RUN映象操作指令

例如:RUN yum install httpd

RUN [“/bin/bash”,”-c”,”echo hello”]
4、CMD

5、EXPOSE

例如:EXPOSE 22 80 8443用來指定要映射出去的埠,比如容器內部啟動了sshd和nginx,所以要將22和80埠暴露出去,需要配合-P,在啟動容器時加引數-P自動分配,-p指定具體埠。
6、ENV為後續的RUN提供環境變數

例如:ENV PATH /usr/local/musql/bin:$PATH

ENV MYSQL_version 5.6
7、ADD將本地的一個檔案或目錄拷貝到某個目錄裡

格式為 ADD <src><dest>,其中src為Dockerfile所有目錄的相對路徑,也可以是一個url,例如ADD <conf/vhosts></usr/local/nginx/conf>
8、COPY,格式同ADD,不支援url
9、ENTRYPOINT格式類似於CMD
10、VOLUME建立一個可以從本地主機或其他容器掛載的掛載點

例如 VOLUME [“/data”]
11、USER指定執行容器的使用者

例如:USER wyu
12、WORKDIR為後續RUN,CMD,ENTRYPOINT指定工作目錄

例如:WORKDIR /path/to/workdir

二、Dockerfile建立映象
1、下載nginx配置檔案

wget http://www.apelearn.com/study_v2/.nginx_conf
2、編輯Dockerfile,加入以下內容

[[email protected] docker]# cat Dockerfile

##set the base image to CentOS

FROM centos

# File Author / Maintainer

MAINTAINER wyu wyu.com

# Install necessary tools

RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel

# Install Nginx

ADD http://nginx.org/download/nginx-1.8.0.tar.gz .

RUN tar zxvf nginx-1.8.0.tar.gz

RUN mkdir -p /usr/local/nginx

RUN cd nginx-1.8.0 && ./configure --prefix=/usr/local/nginx && make && make install

RUN rm -fv /usr/local/nginx/conf/nginx.conf

COPY .nginx_conf /usr/local/nginx/conf/nginx.conf

# Expose ports

EXPOSE 80

# Set the default command to execute when creating a new container

ENTRYPOINT /usr/local/nginx/sbin/nginx && tail -f /etc/passwd
3、建立映象

[[email protected] docker]# docker build -t test1_nginx .

注意語句最後有個 . 意思為從當前目錄尋找Dockerfile檔案

4、檢視建立的映象

5、開啟指定映象

[[email protected] docker]# docker run -itd -p 8099:80 test1_nginx bash
三、使用Docker compose部署服務

1\docker compose可以方便我們快捷高效的管理容器的啟動,停止,重啟等操作,類似於Linux下的shell指令碼,基於yaml語法,在該檔案裡可以描述應用的架構,比如使用映象,資料卷,網路模式,監聽埠等。
2、安裝compose

curl -L

https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
3、修改許可權

chomd 755 /usr/local/bin/docker-compose
4、檢視版本資訊

5、部署實際服務

(1)編輯docker-compose.yml檔案

[[email protected] ~]# cat docker-compose.yml

version: "2"

services:

  app1:

    image: centos_nginx

    ports:

      - "8080:80"

    networks:

      - "net1"

    volumes:

      - /data/:/data

  app2:

    image:wyu_net

    networks:

      - "net2"

    volumes:

      - /data/:/data1

    entrypoint: tail -f /etc/passwd

networks:

  net1:

    driver: bridge

  net2:

driver: bridge

(2)啟動兩個容器


---------------------
作者:吳用丶
來源:CSDN
原文:https://blog.csdn.net/weixin_42774383/article/details/83011889
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關推薦

使用Dockerfile建立映象Docker compose部署服務

一、Dockerfile指令簡介 1、FROM指定來源於哪個映象 例如:FROM centos  FROM centos:latest 2、MAINTAINER指定作者資訊 例如:MAINTAINER wyu wyu.com 3、RUN映象操作指令 例如:RUN yu

Dockerfiledocker-compose部署服務

dockerfile格式 FROM //指定基於哪個基礎映象 格式 FROM 或者 FROM :, 比如 FROM centos FROM centos:latest MAINTAINER //指定作者資訊 格式 MAINTAIN ,比如 MA

docker compose部署服務

docker compose部署服務1 用docker compose部署服務- 需求:假如現在我們手裏有很多容器,每個容器對應每個服務,有nginx容器,redis容器,mysql容器等。現在我們需要批量化的去管理,批量啟動,停止,重啟等操作!當然你會說用shell,可是如何不用shell來完成需求呢,那就

Docker(八)用docker compose部署服務

docker用docker compose部署服務 docker compose可以方便我們快捷高效地管理容器的啟動、停止、重啟等操作,它類似linux下的shell腳本,基於yaml語法,在該文件裏我們可以描述應用的架構,比如用什麽鏡像、數據卷、網絡模式、監聽端口等信息。我們可以在一個compose文件中定

Dockerfile 建立第一個映象docker

在上一篇 《執行第一個docker容器》中我說過docker build 指令是一個相對 其他指令比較複雜的指令,這裡呢就跟大家一起來分享一下該指令。 docker build指令是用來建立一個映象的

docker swarm 和compose部署服務解決跨主機網路問題和ip不固定問題(二)

一 docker 版本1.13及以上,compose版本1.11及以上。docker的搭建和執行compose參考官方文件完成二  docker swarm 和compose 簡介Docker宣佈在1.12版的引擎中內建編排能力,也就是 Swarm Mode,在容器之上引入了

docker swarm 和compose部署服務解決跨主機網路問題和ip不固定問題(一)

一  要求: docker版本13以上;compose版本11以上;關閉防火牆和selinux二  composev3版本加入了很多功能,現在我肯可以很方便的結合docker swarm 和compose來完成不同主機之間的通訊問題三 準別2臺虛機,安裝docker ,配置d

Docker之搭建2048遊戲四種網路模式的學習容器和管理資料卷的管理Dockerfile建立映象

1.映象管理 物理機上: 軟體包: docker-engine-17.03.1.ce-1.el7.centos.x86_64.rpm docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch.rpm [

Docker介紹安裝docker映象管理通過容器建立映象使用模板建立映象

Docker介紹 官網 www.docker.com github https://github.com/docker/docker.github.io 開源的容器引擎,可以讓開發者打包應用以及依賴的庫,然後釋出到任何流行的linux發行版上,移植很方便 由g

[轉載] Dockerfile建立自定義Docker映象以及CMD與ENTRYPOINT指令的比較

1.概述 建立Docker映象的方式有三種 docker commit命令:由容器生成映象; Dockerfile檔案+docker build命令; 從本地檔案系統匯入:OpenVZ的模板。 最近學習了Dockerfile檔案的相關配置,這裡做一下簡單的

[轉]Docker基礎-使用Dockerfile建立映象

本文轉自:https://www.cnblogs.com/jie-fang/p/7927643.html 1、基本結構   Dockerfile由一行行命令語句組成,並支援以#開頭的註釋行。例如: # This dockerfile uses the ubuntu image #

Docker實戰:使用Dockerfile建立映象

#第一行必須指定基於的基礎映象 FROM centos #維護者資訊 MAINTAINER docker_user [email protected] #映象的操作指令 RUN ........ #容器啟動時執行指令 CMD /usr/sbi

docker——Dockerfile建立映象

1 FROM centos 2 3 MAINTAINER yaolin 4 5 COPY jdk1.7.0_79 jdk1.7.0_79 6 ADD websocket.jar app.jar 7 8 ENV JAVA_HOME=/jdk1.7.0_79 9 ENV PATH=$JA

使用Dockerfile建立自己的docker映象

前言 docker理論之類的就不說了,網上一大頓,直接說我們最關心的,就是如何構建我們自己的映象 映象是 Docker 的基礎,它是容器執行環境的靜態模板,包含了應用以及依賴環境。 製作映象步驟如下: 1.準備構建環境: 映象構建環境,就是製作映象的目錄,裡面包含了

Docker技術入門與實戰 第8章 使用Dockerfile建立映象

Dockerfile是一個文字格式的配置檔案,使用者可以使用Dockerfile來快速建立自定義映象。本章首先介紹Dockerfile典型的基本結構和它支援的眾多指令,並具體講解通過這些指令來編寫定製映象的Dockerfile,以及如何生成映象。最後介紹使用Dockerfil

docker commit/Dockerfile製作映象save/load打包映象

一、commit製作映象 啟動一個容器,對容器修改操作,會儲存到容器的儲存層,當容器銷燬儲存層也銷燬。 但我們可以用commit命令把儲存層儲存為映象。 ①啟動一個nginx容器 docker run --name nginx -d -p 80:80 nginx

docker官方映象下載及使用Dockerfile建立映象

2、search centos 3、docker pull centos:7.2.1511 4、建立Dockerfile檔案: [[email protected] centos7.2]# cat Dockerfile FROM centos:7.2.1511

[Docker] 使用Docker-compose部署WordPress服務

使用WordPress可以快速構建一個blog,試了下很方便,主要參考:https://docs.docker.com/compose/wordpress/ 專案結構: |- <project_dir> |- db |- mysql.cnf

優化Docker映象加速應用部署教你6個小竅門

基於Kubernetes的新版小米應用引擎在小米生態雲上線3個多月來,深受大家喜愛。為了讓使用者的雲端應用管理更高效、更方便,今天從6個方面分享一些溜到飛起的小竅門。 明確指定映象版本,管理更方便 為了讓版本管理起來更方便,應用部署速度更快,在建立映象的過程中,建議工

Dockerfile建立映象(sshhttpnginxtomcat,supervisor)

一,使用Dockerfile建立docker-ssh映象: mkdir /tmp/docker/Dockerfile cd /tmp/docker/Dockerfile vim Dolcerfile FROM rhel7 #指定基礎映象