最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker 手動(dòng)構(gòu)建新鏡像的方法

 更新時(shí)間:2018年12月03日 11:06:52   作者:hellozhxy  
這篇文章主要介紹了docker 手動(dòng)構(gòu)建新鏡像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

本文介紹了docker 手動(dòng)構(gòu)建新鏡像的方法,分享給大家,具體如下:

查看本地現(xiàn)有鏡像:

[root@docker ~]# docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
nginx        latest       c59f17fe53b0    4 days ago     108MB
ubuntu       latest       747cb2d60bbe    3 weeks ago     122MB
centos       latest       196e0ce0c9fb    6 weeks ago     197MB

現(xiàn)在利用基礎(chǔ)鏡像centos,在此基礎(chǔ)上手動(dòng)構(gòu)建一個(gè)web服務(wù),這里采用nginx

啟動(dòng)一個(gè)container并進(jìn)入到容器內(nèi):

[root@docker ~]# docker run -it --name=web centos /bin/bash
[root@bab3b6991467 /]#

然后在容器內(nèi)進(jìn)行安裝nginx服務(wù):

[root@bab3b6991467 /]# cd /usr/local/src/
[root@bab3b6991467 src]# yum install wget vim

這里采用編譯安裝nginx,所以下載nginx源碼包,并安裝好編譯環(huán)境:

[root@bab3b6991467 src]# wget http://nginx.org/download/nginx-1.12.2.tar.gz

編譯環(huán)境:

[root@bab3b6991467 src]# yum install gcc gcc-c++ glibc make autoconf openssl openssl-devel

安裝nginx的一些依賴包:

[root@bab3b6991467 src]# yum install libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel

然后開支執(zhí)行安裝:

[root@bab3b6991467 src]# ll
total 960
-rw-r--r--. 1 root root 981687 Oct 17 13:20 nginx-1.12.2.tar.gz
[root@bab3b6991467 src]# tar xf nginx-1.12.2.tar.gz 
[root@bab3b6991467 src]# cd nginx-1.12.2
[root@bab3b6991467 nginx-1.12.2]# ./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

創(chuàng)建需要用到的用戶:

useradd -M -s /sbin/nologin nginx

繼續(xù)編譯:

make && make install
chown -R nginx:nginx /usr/local/nginx/

這里需要介紹nginx命令的一個(gè)參數(shù):

[root@bab3b6991467 ~]# /usr/local/nginx/sbin/nginx -h 
  -g directives : set global directives out of configuration file

-g:為nginx的配置文件設(shè)置指令

現(xiàn)在退出container,回到host本機(jī)

[root@bab3b6991467 ~]# exit
exit

查看此時(shí)容器的狀態(tài):

[root@docker ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
bab3b6991467    centos       "/bin/bash"     37 minutes ago   Exited (0) 21 seconds ago            web

利用docker diff查看該容器進(jìn)行了哪些修改,由于輸出太多,這里不給予顯示了

利用docker commit將web容器進(jìn)行加層成一個(gè)新鏡像:

[root@docker ~]# docker commit --help
  Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  Create a new image from a container's changes

  -m, --message string  Commit message
  -a, --author string  Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")

現(xiàn)在開始commit:

[root@docker ~]# docker commit -m "compile nginx on centos" web wadeson/centos_nginx:v1
sha256:210a202d37b8d2c31155c29adf0c7c0b49cfab7ff38234109919de7f4e76d1de

查看本地鏡像:

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

可以看見剛剛docker commit的新鏡像了,現(xiàn)在由此鏡像進(jìn)行啟動(dòng)一個(gè)container提供nginx服務(wù):

[root@docker ~]# docker run -d -p80:80 wadeson/centos_nginx:v1 /usr/local/nginx/sbin/nginx -g "daemon off;"
c12669357e2b09a05a396ac480a04dd1956303b784f894b615d4edb889a737ab

然后查看container:

[root@docker ~]# docker ps -l
CONTAINER ID    IMAGE           COMMAND         CREATED       STATUS       PORTS        NAMES
c12669357e2b    wadeson/centos_nginx:v1  "/usr/local/nginx/..."  41 seconds ago   Up 40 seconds    0.0.0.0:80->80/tcp  thirsty_murdock

可以看見nginx服務(wù)已經(jīng)開啟了,于是進(jìn)行訪問:

 于是整個(gè)手動(dòng)構(gòu)建就成功了

針對(duì)上面的一些命令做下解釋:

docker run -d -p80:80 wadeson/centos_nginx:v1 /usr/local/nginx/sbin/nginx -g "daemon off;"

后面運(yùn)行的命令都是旨在container的命令,由于沒有進(jìn)行環(huán)境變量設(shè)置,所以全路徑,而nginx -g這個(gè)參數(shù)是指可以在外面添加指令到nginx的配置文件中,daemon off是指nginx服務(wù)不運(yùn)行在后端而是在前臺(tái)運(yùn)行(container中的服務(wù)必須運(yùn)行在前臺(tái))

利用docker top可以查看container的運(yùn)行進(jìn)程:

[root@docker ~]# docker top c12669357e2b
UID         PID         PPID        C          STIME        TTY         TIME        CMD
root        35468        35451        0          02:55        ?          00:00:00      nginx: master process /usr/local/nginx/sbin/nginx -g daemon off;
1000        35489        35468        0          02:55        ?          00:00:00      nginx: worker process

利用docker exec進(jìn)入到容器內(nèi):

[root@docker ~]# docker exec -it c12669357e2b /bin/bash
[root@c12669357e2b /]# ps -ef
UID     PID  PPID C STIME TTY     TIME CMD
root     1   0 0 06:55 ?    00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -g daemon off;
nginx     5   1 0 06:55 ?    00:00:00 nginx: worker process
root     6   0 1 07:01 pts/0  00:00:00 /bin/bash
root     20   6 0 07:01 pts/0  00:00:00 ps -ef

而使用ctrl+p+q可以將該容器置于后臺(tái),而不是馬上exited

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker使用run命令部署Nginx的完整指南

    Docker使用run命令部署Nginx的完整指南

    容器化技術(shù)正在徹底改變現(xiàn)代應(yīng)用的部署方式,而 Docker 作為這一領(lǐng)域的先驅(qū),為開發(fā)者提供了快速構(gòu)建、交付和運(yùn)行應(yīng)用的能力,下面小編就為大家介紹一下Docker如何通過run命令部署Nginx吧
    2025-03-03
  • docker-compose啟動(dòng)springboot項(xiàng)目連接mysql問題

    docker-compose啟動(dòng)springboot項(xiàng)目連接mysql問題

    這篇文章主要介紹了docker-compose啟動(dòng)springboot項(xiàng)目連接mysql問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • docker安裝Redis高可用實(shí)現(xiàn)一主二從三哨兵

    docker安裝Redis高可用實(shí)現(xiàn)一主二從三哨兵

    redis提供了哨兵模式保證redis實(shí)現(xiàn)高可用,本文主要介紹了docker安裝Redis高可用實(shí)現(xiàn)一主二從三哨兵,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • docker搭建nacos1.3.0的實(shí)現(xiàn)

    docker搭建nacos1.3.0的實(shí)現(xiàn)

    這篇文章主要介紹了docker搭建nacos1.3.0的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 詳解ASP.NET Core Docker部署

    詳解ASP.NET Core Docker部署

    這篇文章主要介紹了詳解ASP.NET Core Docker部署。詳細(xì)介紹了如何在Docker容器中運(yùn)行ASP.NET Core應(yīng)用程序。有興趣的可以了解一下。
    2016-12-12
  • Jenkins Pipeline中Docker鏡像構(gòu)建與推送的常見問題及解決方案

    Jenkins Pipeline中Docker鏡像構(gòu)建與推送的常見問題及解決方案

    在現(xiàn)代 DevOps 實(shí)踐中,Jenkins 作為一款流行的持續(xù)集成和持續(xù)交付(CI/CD)工具,被廣泛應(yīng)用于自動(dòng)化構(gòu)建、測(cè)試和部署流程,然而,在實(shí)際使用 Jenkins Pipeline 進(jìn)行 Docker 鏡像構(gòu)建和推送的過程中,可能會(huì)遇到各種問題,本文將通過一個(gè)具體的案例給大家詳細(xì)的介紹一下
    2025-01-01
  • 詳解Docker學(xué)習(xí)筆記之搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境

    詳解Docker學(xué)習(xí)筆記之搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境

    本篇文章主要介紹了詳解Docker學(xué)習(xí)筆記之搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker 環(huán)境運(yùn)行 Mysql 和開啟 Binlog 配置主從同步的設(shè)置方法

    Docker 環(huán)境運(yùn)行 Mysql 和開啟 Binlog 配置主從同步的設(shè)置方法

    今天給大家分享Docker 環(huán)境運(yùn)行 Mysql 和開啟 Binlog 配置主從同步的設(shè)置方法,利用docker模擬mysql設(shè)置的主從同步,通過兩種方式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06
  • docker prune命令定時(shí)清理不常用數(shù)據(jù)的操作方法

    docker prune命令定時(shí)清理不常用數(shù)據(jù)的操作方法

    使用docker引擎服務(wù)時(shí)間久了,會(huì)發(fā)現(xiàn)磁盤空間越來越大,現(xiàn)在要?jiǎng)h除關(guān)于docker相關(guān)不用的數(shù)據(jù)來釋放磁盤空間,這篇文章主要介紹了docker prune命令 可定時(shí)清理不常用數(shù)據(jù),需要的朋友可以參考下
    2022-10-10
  • docker nginx 部署多個(gè)項(xiàng)目的示例方法

    docker nginx 部署多個(gè)項(xiàng)目的示例方法

    這篇文章主要介紹了docker nginx 部署多個(gè)項(xiàng)目的示例方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11

最新評(píng)論

城口县| 瑞昌市| 景德镇市| 来宾市| 余干县| 囊谦县| 磐安县| 邯郸县| 从化市| 县级市| 凌云县| 黄浦区| 土默特右旗| 高唐县| 保亭| 海丰县| 高淳县| 苗栗县| 鄱阳县| 鄂伦春自治旗| 江门市| 茌平县| 杭锦后旗| 衡东县| 田东县| 安义县| 阜阳市| 大冶市| 浠水县| 宁国市| 合阳县| 长阳| 喀喇沁旗| 宁阳县| 临夏县| 剑河县| 恩平市| 山丹县| 沂南县| 宁安市| 清水县|