0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

手動構(gòu)建Docker鏡像的方法

馬哥Linux運維 ? 來源:博客園 ? 2024-08-05 15:30 ? 次閱讀

本節(jié)內(nèi)容:

創(chuàng)建docker鏡像的方法

手動構(gòu)建鏡像

一、創(chuàng)建docker鏡像的方法

使用"docker commit"命令

使用"docker build"命令+"Dockerfile"文件

推薦使用docker commit命令,而應(yīng)該使用更靈活、更強大的dockerfile來構(gòu)建docker鏡像。

本篇文章先介紹docker commit來構(gòu)建鏡像。

二、手動構(gòu)建鏡像

一般來說,我們并不是真正從0開始構(gòu)建鏡像,而是基于一個已經(jīng)存在的鏡像,比如centos,然后進行一些安裝和配置,構(gòu)建自己新的鏡像。

【示例】:手動構(gòu)建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程序設(shè)置為前臺運行模式,這樣容器啟動后nginx進程會一直在前臺運行而不會退出。因為如果啟動容器時的進程退出,容器也就結(jié)束了。

[root@eadfe0c0903d /]# vi /etc/nginx/nginx.conf
daemon off;

271b0cb2-4bfe-11ef-b8af-92fbcf53809c.png

[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

273afe50-4bfe-11ef-b8af-92fbcf53809c.png

基于這個鏡像啟動容器:

[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安裝的要寫絕對路徑。

274ca15a-4bfe-11ef-b8af-92fbcf53809c.png

鏈接:https://www.cnblogs.com/zhaojiankai/p/7753470.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    658

    瀏覽量

    21927
  • 鏡像
    +關(guān)注

    關(guān)注

    0

    文章

    158

    瀏覽量

    10651
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    139

    瀏覽量

    12113
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    446

    瀏覽量

    11738

原文標題:從零開始:詳解手動構(gòu)建Docker鏡像的完整流程

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    怎么構(gòu)建docker鏡像倉庫軟件

    Docker Registry】用docker registry 鏡像搭建私有測試倉庫
    發(fā)表于 08-13 11:03

    采用CentOS7的JDK Docker鏡像構(gòu)建

    基于CentOS7構(gòu)建JDK Docker鏡像
    發(fā)表于 04-02 11:25

    構(gòu)建ARM64版本nacos docker鏡像

    在適配過程中有大量合作伙伴用到nacos且采用容器化部署,dockerhub未提供官方鏡像,因此需要在鯤鵬服務(wù)器自定義構(gòu)建。構(gòu)建前提:Docker已部署
    發(fā)表于 06-16 14:29

    介紹一款非常方便的java領(lǐng)域docker鏡像構(gòu)建工具

    工具.亮點是不需要Docker daemon,意味著即使本地沒有安裝docker也能通過jib構(gòu)建docker鏡像,并且可以
    發(fā)表于 07-19 17:41

    Docker:微容器的優(yōu)勢與構(gòu)建教程

    非必要的東西也打包進去,所以最后構(gòu)建出來的鏡像就很龐大,直接導(dǎo)致我們的容器也變得很大。對于剛?cè)腴T的Docker新手來說,大家一開始基本都是用的Docker官方
    發(fā)表于 10-10 11:32 ?0次下載

    淺析Docker鏡像本地存儲機制及容器啟動原理

    Docker 鏡像不是一個單一的文件,而是有多層構(gòu)成。我們可通過 docker images 獲取本地的鏡像列表及對應(yīng)的元信息, 接著可通過dock
    發(fā)表于 10-19 14:17 ?2482次閱讀

    國內(nèi)Docker CE 鏡像源的配置

    的新名稱,Docker CE 包含了完整的 Docker 平臺,非常適合開發(fā)人員和運維團隊構(gòu)建容器 APP。 ? 配置方法 Ubuntu 14.04/16.04(使用 apt-get
    的頭像 發(fā)表于 11-09 09:16 ?3546次閱讀

    Docker—簡介與鏡像用法

    阿里云官方鏡像站: ??https://developer.aliyun.com/mirror/?utm_content=g_1000303593?? ? 一、容器簡介 Docker是管理容器的引擎
    發(fā)表于 11-25 16:28 ?476次閱讀
    <b class='flag-5'>Docker</b>—簡介與<b class='flag-5'>鏡像</b>用法

    Docker鏡像的詳細講解

    本文是對 Docker 鏡像的詳細講解,講解了如何安裝 Docker、配置 Docker 鏡像加速以及操作
    的頭像 發(fā)表于 08-02 10:00 ?2020次閱讀

    減少docker鏡像大小的方法

    Docker 是一種容器引擎,可以在容器內(nèi)運行一段代碼。Docker 鏡像是在任何地方運行您的應(yīng)用程序而無需擔(dān)心應(yīng)用程序依賴性的方式。
    的頭像 發(fā)表于 05-15 11:13 ?808次閱讀
    減少<b class='flag-5'>docker</b><b class='flag-5'>鏡像</b>大小的<b class='flag-5'>方法</b>

    docker 搜索鏡像,docker查看鏡像詳細信息(docker下載鏡像命令)

    Docker Hub是集中管理的Docker鏡像注冊中心。通過Docker 用戶可以在注冊中心搜索、下載和使用CLI命令行工具中的鏡像。以下
    的頭像 發(fā)表于 07-19 09:46 ?1619次閱讀

    Dockerfile定義Docker鏡像構(gòu)建過程

    了解Dockerfile Dockerfile 是一個文本文件,用于定義 Docker 鏡像構(gòu)建過程。它以指令的形式描述了如何構(gòu)建鏡像,從
    的頭像 發(fā)表于 09-30 10:22 ?2380次閱讀

    Docker鏡像國內(nèi)加速的幾種方法

    在國內(nèi),拉取 Docker 鏡像速度慢/時不時斷線/無賬號導(dǎo)致限流等,比較痛苦. 這里提供加速/優(yōu)化的幾種方法。
    的頭像 發(fā)表于 10-19 10:02 ?5626次閱讀
    <b class='flag-5'>Docker</b><b class='flag-5'>鏡像</b>國內(nèi)加速的幾種<b class='flag-5'>方法</b>

    如何在Windows系統(tǒng)上設(shè)置Docker鏡像

    在使用 Docker 進行鏡像下載和構(gòu)建時,由于眾所周知的原因,國內(nèi)用戶可能會遇到下載速度慢或者無法連接的問題。為了解決這個問題,我們可以使用國內(nèi)的鏡像源來加速下載速度。本文將介紹如何
    的頭像 發(fā)表于 10-24 16:55 ?4787次閱讀

    構(gòu)建docker鏡像應(yīng)該遵循哪些原則

    構(gòu)建 Docker 鏡像時,應(yīng)遵循以下原則: 單一職責(zé):每個鏡像應(yīng)只包含一個應(yīng)用或服務(wù),避免將多個應(yīng)用或服務(wù)放在同一個鏡像中。這樣可以確保
    的頭像 發(fā)表于 11-23 09:41 ?850次閱讀