1. 程式人生 > >docker之Dockerfile實踐用dockerfile構建nginx環境

docker之Dockerfile實踐用dockerfile構建nginx環境

上一篇介紹了Dockerfile中使用的指令,現在開始進行指令實踐

先檢視下本地的映象,選一個作為base image:

[[email protected] ~]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
wadeson/centos_nginx   v1                  210a202d37b8        2 hours ago         464MB
nginx                  latest              c59f17fe53b0        
4 days ago 108MB ubuntu latest 747cb2d60bbe 3 weeks ago 122MB centos latest 196e0ce0c9fb 6 weeks ago 197MB

在某一個目錄下面建立一個專門存放此demo的目錄,也就是Dockerfile所在的context:

複製程式碼
[[email protected] ~]# mkdir docker_demo
[[email protected]
~]# cd docker_demo/ [[email protected] docker_demo]# touch Dockerfile [[email protected] docker_demo]# pwd /root/docker_demo [[email protected] docker_demo]# ll total 0 -rw-r--r--. 1 root root 0 Nov 1 04:34 Dockerfile
複製程式碼

接下來就開始編寫Dockerfile檔案了(注意Dockerfile的D需要大寫)

這裡以編譯nginx提供web服務來構建新的映象

1、下載nginx原始碼包到docker_demo這個目錄下:

[[email protected] docker_demo]# ll
total 960
-rw-r--r--. 1 root root      0 Nov  1 04:34 Dockerfile
-rw-r--r--. 1 root root 981687 Oct 17 09:20 nginx-1.12.2.tar.gz

2、以下是編寫好的Dockerfile v1版:

複製程式碼

[[email protected] docker_demo]# cat Dockerfile 
# base image
FROM centos

# MAINTAINER
MAINTAINER [email protected]

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.12.2.tar.gz /usr/local/src

# running required command
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 
RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx

# change dir to /usr/local/src/nginx-1.12.2
WORKDIR /usr/local/src/nginx-1.12.2

# execute command to compile nginx
RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module && make && make install

EXPOSE 80

複製程式碼

3、檢視docker_demo目錄情況:

[[email protected] docker_demo]# ll
total 964
-rw-r--r--. 1 root root   1112 Nov  1 04:58 Dockerfile
-rw-r--r--. 1 root root 981687 Oct 17 09:20 nginx-1.12.2.tar.gz

4、執行docker build進行構建:

docker build -t centos_nginx:v1 .

後面的.代表的是相對路徑的當前目錄,如果需要全路徑則為/root/docker_demo(就是找到Dockerfile檔案)

構建成功後,檢視新構建的映象:

複製程式碼
[[email protected] docker_demo]# docker images         
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
centos_nginx           v1                  78d18f16e757        4 hours ago         464MB
wadeson/centos_nginx   v1                  210a202d37b8        7 hours ago         464MB
nginx                  latest              c59f17fe53b0        4 days ago          108MB
ubuntu                 latest              747cb2d60bbe        3 weeks ago         122MB
centos                 latest              196e0ce0c9fb        6 weeks ago         197MB
複製程式碼

5、然後使用構建的映象啟動一個container並開啟nginx服務:

[[email protected] docker_demo]# docker run -d centos_nginx:v1 /usr/local/nginx/sbin/nginx -g "daemon off;"
ea5af922378356a5ebff60992f000b186b09d1e8d6a4915b0b8ccf997ca12404

然後檢視啟動的container是否在執行:

[[email protected] docker_demo]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
ea5af9223783        centos_nginx:v1     "/usr/local/nginx/..."   7 seconds ago       Up 6 seconds        80/tcp              flamboyant_carson

雖然nginx服務開啟了,但是port並沒有進行對映到本機host,所以這個container並不能進行訪問,重新啟動一個進行了對映埠的容器

[[email protected] docker_demo]# docker run -d -p80:80 centos_nginx:v1 /usr/local/nginx/sbin/nginx -g "daemon off;"
e4b6e4846dedc6f130e028701c84828a635f3b367c0d500ebd947de16b1be0b2

再次檢視埠對映資訊:

[[email protected] docker_demo]# docker port e4b6e4846ded
80/tcp -> 0.0.0.0:80

於是進行訪問:

於是基於Dockerfile的一個簡單例項構建完成,現在基於這個Dockerfile檔案依次新增其他的指令進行構建

新增ENV環境變數指令:

複製程式碼
[[email protected] docker_demo]# cat Dockerfile 
# base image
FROM centos

# MAINTAINER
MAINTAINER [email protected]163.com

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.12.2.tar.gz /usr/local/src

# running required command
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 
RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx

# change dir to /usr/local/src/nginx-1.12.2
WORKDIR /usr/local/src/nginx-1.12.2

# execute command to compile nginx
RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio  --with-http_ssl_module  --with-http_realip_module    --with-http_addition_module    --with-http_xslt_module   --with-http_image_filter_module    --with-http_geoip_module  --with-http_sub_module  --with-http_dav_module --with-http_flv_module    --with-http_mp4_module --with-http_gunzip_module  --with-http_gzip_static_module  --with-http_auth_request_module  --with-http_random_index_module   --with-http_secure_link_module   --with-http_degradation_module   --with-http_stub_status_module && make && make install

ENV PATH /usr/local/nginx/sbin:$PATH

EXPOSE 80
複製程式碼

然後進行構建:

複製程式碼
[[email protected] docker_demo]# docker build -t centos_nginx:v2 .
Sending build context to Docker daemon  985.6kB
Step 1/10 : FROM centos
 ---> 196e0ce0c9fb
Step 2/10 : MAINTAINER [email protected]163.com
 ---> Using cache
 ---> cde1d7830106
Step 3/10 : ADD nginx-1.12.2.tar.gz /usr/local/src
 ---> Using cache
 ---> 1e4d16340af0
Step 4/10 : RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel
 ---> Using cache
 ---> 405835ad9b0b
Step 5/10 : RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
 ---> Using cache
 ---> 4002738cf7a6
Step 6/10 : RUN useradd -M -s /sbin/nologin nginx
 ---> Using cache
 ---> 02961c5c564d
Step 7/10 : WORKDIR /usr/local/src/nginx-1.12.2
 ---> Using cache
 ---> f1da71a93c5e
Step 8/10 : RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio  --with-http_ssl_module  --with-http_realip_module    --with-http_addition_module    --with-http_xslt_module   --with-http_image_filter_module    --with-http_geoip_module  --with-http_sub_module  --with-http_dav_module --with-http_flv_module    --with-http_mp4_module --with-http_gunzip_module  --with-http_gzip_static_module  --with-http_auth_request_module  --with-http_random_index_module   --with-http_secure_link_module   --with-http_degradation_module   --with-http_stub_status_module && make && make install
 ---> Using cache
 ---> cd2ad4c45004
Step 9/10 : ENV PATH /usr/local/nginx/sbin:$PATH
 ---> Running in 07ba2f7129bc
 ---> 9588fa1058aa
Removing intermediate container 07ba2f7129bc
Step 10/10 : EXPOSE 80
 ---> Running in 473cd847154a
 ---> 2031faf8894a
Removing intermediate container 473cd847154a
Successfully built 2031faf8894a
Successfully tagged centos_nginx:v2
複製程式碼

由於在構建的過程中docker會採用快取的機制,上面的構建過程中包含很多using cache,所以這次構建非常快,如果需要重新構建,不想使用cache需要新增--no-cache

--no-cache                   Do not use cache when building the image

檢視v2版本的映象:

[[email protected] docker_demo]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
centos_nginx           v2                  2031faf8894a        2 minutes ago       464MB

使用v2版本的映象啟動一個container:

[[email protected] docker_demo]# docker run -d -p81:80 centos_nginx:v2 nginx -g "daemon off;"
da48b465b1b1a14824497d724eee52b8408270b3b5223c5dd7094b7c0cef211d

檢視container執行狀態:

[[email protected] docker_demo]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
da48b465b1b1        centos_nginx:v2     "nginx -g 'daemon ..."   23 seconds ago      Up 22 seconds       0.0.0.0:81->80/tcp   determined_neumann

進行訪問:

上述啟動容器的過程中使用的命令docker run -d -p81:80 centos_nginx:v2 nginx -g "daemon off;"為什麼這裡使用的nginx而不是

/usr/local/nginx/sbin/nginx,因為在Dockerfile文化中執行了PATH=/usr/local/nginx/sbin:$PATH,新增到了環境變數

新增指令CMD:

複製程式碼
[[email protected] docker_demo]# cat Dockerfile 
# base image
FROM centos

# MAINTAINER
MAINTAINER [email protected]163.com

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.12.2.tar.gz /usr/local/src

# running required command
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 
RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx

# change dir to /usr/local/src/nginx-1.12.2
WORKDIR /usr/local/src/nginx-1.12.2

# execute command to compile nginx
RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio  --with-http_ssl_module  --with-http_realip_module    --with-http_addition_module    --with-http_xslt_module   --with-http_image_filter_module    --with-http_geoip_module  --with-http_sub_module  --with-http_dav_module --with-http_flv_module    --with-http_mp4_module --with-http_gunzip_module  --with-http_gzip_static_module  --with-http_auth_request_module  --with-http_random_index_module   --with-http_secure_link_module   --with-http_degradation_module   --with-http_stub_status_module && make && make install

ENV PATH /usr/local/nginx/sbin:$PATH

EXPOSE 80

CMD /bin/sh -c 'nginx -g "daemon off;"'
複製程式碼

然後進行構建:

[[email protected] docker_demo]# docker build -t centos_nginx:v3 .

檢視v3版本的映象:

[[email protected] docker_demo]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
centos_nginx           v3                  0e49a2c0562f        11 seconds ago      464MB

然後基於v3版本的映象啟動一個container:

[[email protected] docker_demo]# docker run -d -p82:80 centos_nginx:v3 
d988c04d04f49b909f28e7b664be3959a0d51b951f1c1b04fcf5c716552b7c41

檢視啟動的容器狀態:

[[email protected]ker docker_demo]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
d988c04d04f4        centos_nginx:v3     "/bin/sh -c '/bin/..."   6 seconds ago       Up 5 seconds        0.0.0.0:82->80/tcp   optimistic_saha

最後進行訪問:

新增加的CMD /bin/sh -c 'nginx -g "daemon off;"'表示

當啟動一個container時預設執行的命令,如果在啟動container時賦予了command的化,那麼

定義的CMD中的命令將不會被執行,而會去執行command的命令

新增entrypoint指令:

複製程式碼
[[email protected] docker_demo]# cat Dockerfile 
# base image
FROM centos

# MAINTAINER
MAINTAINER [email protected]163.com

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.12.2.tar.gz /usr/local/src

# running required command
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 
RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx

# change dir to /usr/local/src/nginx-1.12.2
WORKDIR /usr/local/src/nginx-1.12.2

# execute command to compile nginx
RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio  --with-http_ssl_module  --with-http_realip_module    --with-http_addition_module    --with-http_xslt_module   --with-http_image_filter_module    --with-http_geoip_module  --with-http_sub_module  --with-http_dav_module --with-http_flv_module    --with-http_mp4_module --with-http_gunzip_module  --with-http_gzip_static_module  --with-http_auth_request_module  --with-http_random_index_module   --with-http_secure_link_module   --with-http_degradation_module   --with-http_stub_status_module && make && make install

ENV PATH /usr/local/nginx/sbin:$PATH

EXPOSE 80

ENTRYPOINT ["nginx"]

CMD ["-g","daemon off;"]
複製程式碼

當ENTRYPOINT和CMD連用時,CMD的命令是ENTRYPOINT命令的引數,兩者連用相當於nginx -g "daemon off;"

而當一起連用的時候命令格式最好一致(這裡選擇的都是json格式的是成功的,如果都是sh模式可以試一下)

開始進行構建v4版本:

[[email protected] docker_demo]# docker build -t centos_nginx:v4 .

檢視新建的映象:

[[email protected] docker_demo]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
centos_nginx           v4                  6c5128aaff05        4 minutes ago       464MB

為v4版本的映象啟動一個container:

[[email protected] docker_demo]# docker run -d -p83:80 centos_nginx:v4 
6933c78255f3cebe44d4d5d080caf8a2fde45ded2f9b333ec01cdfe98cd5f417

然後檢視容器狀態:

[[email protected] docker_demo]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
6933c78255f3        centos_nginx:v4     "nginx -g 'daemon ..."   6 seconds ago       Up 5 seconds        0.0.0.0:83->80/tcp   zealous_euclid

最後進行訪問:

這裡增加一個案例,如果Dockerfile修改成下面:

複製程式碼
[[email protected] docker_demo]# cat Dockerfile 
# base image
FROM centos

# MAINTAINER
MAINTAINER [email protected]163.com

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.12.2.tar.gz /usr/local/src

# running required command
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 
RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx

# change dir to /usr/local/src/nginx-1.12.2
WORKDIR /usr/local/src/nginx-1.12.2

# execute command to compile nginx
RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio  --with-http_ssl_module  --with-http_realip_module    --with-http_addition_module    --with-http_xslt_module   --with-http_image_filter_module    --with-http_geoip_module  --with-http_sub_module  --with-http_dav_module --with-http_flv_module    --with-http_mp4_module --with-http_gunzip_module  --with-http_gzip_static_module  --with-http_auth_request_module  --with-http_random_index_module   --with-http_secure_link_module   --with-http_degradation_module   --with-http_stub_status_module && make && make install

ENV PATH /usr/local/nginx/sbin:$PATH

EXPOSE 80

ENTRYPOINT ["nginx"]

CMD ["-g","daemon on;"]
複製程式碼

CMD的命令修改為了後臺,我們知道如果容器內的程序在後臺執行那麼容器將不會執行,現在以此構建v5版本映象:

[[email protected] docker_demo]# docker build -t centos_nginx:v5 .

檢視v5版本的新映象:

[[email protected] docker_demo]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
centos_nginx           v5                  5c1131306686        29 seconds ago      464MB

現在利用v5版本映象啟動一個container,但是在啟動的時候新增後面的command:

[[email protected] docker_demo]# docker run -d -p85:80 centos_nginx:v5 -g "daemon off;"
5e11edbbd2a0e184f1766c435c0d9b01ef5d74b57e2e2c3a1efed0cf2a2e037b

可以看見在後面新增了-g "daemon off;",前面說過如果增加了命令那麼Dockerfile中的CMD中的命令將不會生效

檢視容器執行狀態:

[[email protected] docker_demo]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
5e11edbbd2a0        centos_nginx:v5     "nginx -g 'daemon ..."   3 seconds ago       Up 3 seconds        0.0.0.0:85->80/tcp   nifty_bartik

可以看見容器的執行絲毫沒有問題,於是nginx的服務依然還是在前臺執行,沒有被CMD影響,而新增加的command(-g "daemon off;")

將作為ENTRYPOINT的新的引數以此為準,於是進行訪問埠85

 新增VOLUME指令:

複製程式碼
[[email protected] docker_demo]# cat Dockerfile 
# base image
FROM centos

# MAINTAINER
MAINTAINER [email protected]163.com

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.12.2.tar.gz /usr/local/src

# running required command
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 
RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx

# mount a dir to container
VOLUME ["/data"]

# change dir to /usr/local/src/nginx-1.12.2
WORKDIR /usr/local/src/nginx-1.12.2

# execute command to compile nginx
RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio  --with-http_ssl_module  --with-http_realip_module    --with-http_addition_module    --with-http_xslt_module   --with-http_image_filter_module    --with-http_geoip_module  --with-http_sub_module  --with-http_dav_module --with-http_flv_module    --with-http_mp4_module --with-http_gunzip_module  --with-http_gzip_static_module  --with-http_auth_request_module  --with-http_random_index_module   --with-http_secure_link_module   --with-http_degradation_module   --with-http_stub_status_module && make && make install

# setup PATH
ENV PATH /usr/local/nginx/sbin:$PATH

# EXPOSE
EXPOSE 80

# the command of entrypoint
ENTRYPOINT ["nginx"]

CMD ["-g"]
複製程式碼

開始進行構建:

[[email protected] docker_demo]# docker build -t centos_nginx:v6 .

檢視v6版本的映象:

[[email protected] ~]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
centos_nginx           v6                  959fdf4d4288        35 seconds ago      464MB

利用該映象啟動一個container:

[[email protected] ~]# docker run -d -p 86:80 --name=nginx6 centos_nginx:v6 -g "daemon off;"
6c15a9e93fb1421bdb7eddaabe439996e97415e85a003f80c1d8b4b2c5ee3ffa

檢視啟動的容器狀態:

[[email protected] ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
6c15a9e93fb1        centos_nginx:v6     "nginx -g 'daemon ..."   4 seconds ago       Up 4 seconds        0.0.0.0:86->80/tcp   nginx6

利用docker exec進入到container中,檢視是否存在卷/data:

[[email protected] /]# ll
total 16
-rw-r--r--.   8 root root 15836 Sep 11 15:53 anaconda-post.log
lrwxrwxrwx.   1 root root     7 Sep 11 15:51 bin -> usr/bin
drwxr-xr-x.   2 root root     6 Nov  2 
            
           

相關推薦

dockerDockerfile實踐dockerfile構建nginx環境

上一篇介紹了Dockerfile中使用的指令,現在開始進行指令實踐先檢視下本地的映象,選一個作為base image:[[email protected] ~]# docker images REPOSITORY TAG IMAGE ID

Docker入門實戰(三)——Dockerfile構建映象

在Docker中,構建一個自定義映象共有兩種方法,一是通過commit指令構建,二是通過Dockerfile檔案構建。第一種方式在上篇部落格中已經詳細介紹(Docker入門實戰(二)——Docker映象操作),接下來介紹在Docker中更為常用的方法——使用

Docker 學習筆記(一):Docker 基本命令 和 Dockerfile build 一個 JDK 映象

本文件為學習筆記,部分內容將持續更新。 注:本人信仰用最簡單的方式去做一些事,怎麼簡單怎麼來,也許不求甚解。 Docker 基本命令 docker version 獲取 docke

Docker映象管理及Dockerfile

目錄 映象:   1. 一個分層儲存的檔案:     優點:易於擴充套件、優化儲存空間   2. 一個軟體的環境   3. 一個映象可以用於建立多個容器   4. 一種標準化的交付 一、映象工作原理 映象不是一個單一的檔案,而是有多層構成。

docker:使用Dockerfile構建image

ner bbf clas 進入 打開文件 creat style doc size 1、在docker的宿主機創建文件夾: ? Docker mkdir dockerFile1 2、進入文件夾創建Dockerfile文件 ? Docker cd dockerFil

【轉】dockerDockerfile實踐

b2c size ebe rem 目錄 all 緩存 local title 上一篇介紹了Dockerfile中使用的指令,現在開始進行指令實踐 先查看下本地的鏡像,選一個作為base image: [root@docker ~]# docker images REPO

Docker入門與實踐 Dockerfile 語法詳解

二、指令詳解 2.1 From 指令 FROM <image> FROM <image>:<tag> FROM <image>@<digest> FROM指定構建映象的基礎源映象,如果本地沒有指定的映象,則會自動從 D

docker 安裝 建立支援ssh服務的映象 建立nginx服務的映象 dockerfile製作nginx映象

環境centos7.2  docker安裝核心版本必須在3.10及其以上uname -r  檢視核心版本首先去docker官網downloaddocker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.0

Docker系列八:在Dockerfile中使用多段構建Muti-stage build

系列連結 Docker系列之一:Docker介紹及在Ubuntu上安裝 Docker系列之二:Docker 入門 Docker系列之三:使用Docker映象和倉庫 Docker系列之四:Dockerfile的使用 Docker系列之五:Volume 卷的使用——以Redis為例

Kubernetes-基於Dockerfile構建docker映象最佳實踐

1、Dockerfile檔案和核心指令在Kubernetes中執行容器的前提是已存在構建好的映象檔案,而通過Dockerfile檔案構建映象是最好方式。Dockerfile是一個文字檔案,在此檔案中的可以設定各種指令,以通過docker build命令自動構建出需要的映象。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--學習筆記最後附dockerfile--nginx實例

docker一、docker簡介1、Docker優勢(1)、啟動速度快,秒級實現(2)、資源利用率高,一臺機器可以跑上千個docker容器(3)、更快的交付和部署,一次創建也配置後,可以再任意地方運行(4)、內核級別的虛擬化,不需要額外的hypervisor支持。會有更高的性能和效率(5)、易遷移,平臺依賴性

Docker學習筆記-- 如何使用Dockerfile構建鏡像

學習筆記 docker 如何使用 Dockerfile是一種被Docker程序解釋的腳本,Dockerfile由一條一條的指令組成,每條指令對應Linux下面的一條命令。Docker程序將這些Dockerfile指令翻譯真正的Linux命令。Dockerfile有自己書寫格式和支持的命令,Dock

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

from tomcat serve 容器 download image 創建 Opens path 實驗環境說明 本機IP地址:192.168.10.157 構建mysql鏡像時,驗證的主機IP;192.168.10.149 構建Nginx鏡像 1、下載基礎鏡像——cent

基於alpinedockerfile創建的nginx鏡像

rar keep open addition _for strip usr openssl curl 1、下載alpine鏡像 [root@docker43 ~]# docker pull alpine Using default tag: latest Tryi

dockerfile構建nginx並結合php

comm php config size 查看 command link pre oop 查看nginx和php的目錄結構: [root@docker docker_demo]# tree nginx nginx ├── Dockerfile ├── fastcgi_

docker 簡單使用以及利用Dockerfile構建屬於自己的映象

安裝docker  vim /etc/apt/sources.list  加入以下程式碼: deb http://http.debian.net/debian wheezy-backports main 然後重新整理源: apt-get updat

Docker入門系列二:使用dockerfile製作包含指定web應用的映象

實現題目描述的這個需求有很多種辦法,作為入門,讓我們從最簡單的辦法開始。 首先使用命令docker ps確保當前沒有正在執行的Docker例項。 執行命令docker run -it nginx: 然後我們另外開一個終端,用docker ps命令檢視這個執行起來的容器例項,Status的Up 54 s

dockerfile構建基於centos系統的jar包的映象

實際示例: [[email protected] home-dataline]# ls dataline.jar Dockerfile jdk-8u181-linux-x64.tar.gz    [[email protected] home-dataline]

dockerfile構建nginx映象

Dockerfile是一個文字格式的配置檔案,使用者可以使用dockerfile來快速建立自定義的映象。 Dockerfile指令說明 分類 指令 說明 配置指令 ARG 定義建立映象過程中使用的變數