本節內容:
創建docker鏡像的方法
手動構建鏡像
一、創建docker鏡像的方法
使用"docker commit"命令
使用"docker build"命令+"Dockerfile"文件
不推薦使用docker commit命令,而應該使用更靈活、更強大的dockerfile來構建docker鏡像。
本篇文章先介紹docker commit來構建鏡像。
二、手動構建鏡像
一般來說,我們并不是真正從0開始構建鏡像,而是基于一個已經存在的鏡像,比如centos,然后進行一些安裝和配置,構建自己新的鏡像。
【示例】:手動構建Nginx鏡像。
[root@node1 ~]# docker pull centos [root@node1 ~]# docker run -it --name mynginx centos [root@eadfe0c0903d /]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm [root@eadfe0c0903d /]# yum install nginx -y
安裝完成后,我們需要將nginx程序設置為前臺運行模式,這樣容器啟動后nginx進程會一直在前臺運行而不會退出。因為如果啟動容器時的進程退出,容器也就結束了。
[root@eadfe0c0903d /]# vi /etc/nginx/nginx.conf daemon off;
[root@eadfe0c0903d /]# exit exit
基于上面的容器制作一個鏡像:
[root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eadfe0c0903d centos "/bin/bash" 12 minutes ago Exited (0) 2 minutes ago mynginx [root@node1 ~]# docker commit -m "nginx test mirror" eadfe0c0903d jkzhao/mynginx:v1
基于這個鏡像啟動容器:
[root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE jkzhao/mynginx v1 bdf7d4fda6fb 4 minutes ago 381.6 MB docker.io/centos latest 328edcd84f1b 2 weeks ago 192.5 MB registry.docker-cn.com/library/centos latest 328edcd84f1b 2 weeks ago 192.5 MB docker.io/nginx latest b8efb18f159b 3 weeks ago 107.5 MB [root@node1 ~]# docker run -d -p 82:80 jkzhao/mynginx:v1 nginx
【注意】:
必須加tag v1,否則會去倉庫中找latest標簽的鏡像;
最后 nginx 是命令,容器啟動時運行的命令,我這里是yum安裝,不是yum安裝的要寫絕對路徑。
鏈接:https://www.cnblogs.com/zhaojiankai/p/7753470.html
-
命令
+關注
關注
5文章
683瀏覽量
22011 -
鏡像
+關注
關注
0文章
164瀏覽量
10707 -
nginx
+關注
關注
0文章
149瀏覽量
12170 -
Docker
+關注
關注
0文章
457瀏覽量
11846
原文標題:從零開始:詳解手動構建Docker鏡像的完整流程
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論