docker 封裝映象 mysql

2021-10-04 10:46:33 字數 2131 閱讀 7610

我們可以使用docker images來列出本地主機上的映象。

我們可以從 docker hub **來搜尋映象,docker hub **為:

我們也可以使用 docker search 命令來搜尋映象。比如我們需要乙個 httpd 的映象來作為我們的 web 服務。我們可以通過 docker search 命令搜尋 mysql來尋找適合我們的映象。

name:映象倉庫源的名稱

description:映象的描述

official:是否 docker 官方發布

stars:類似 github 裡面的 star,表示點讚、喜歡的意思。

automated:自動構建。

映象刪除使用docker rmi命令,比如我們刪除 ubuntu映象:

更新映象之前,我們需要使用映象來建立乙個容器。下面以centos映象為例

docker run -t -i centos:centos7 /bin/bash
在執行的容器內修改或者操作你想要的東西

此時沒有

在容器中安裝vim

此時這個容器中已經有了vim

在完成操作之後,輸入 exit 命令來退出這個容器。現在我們就有了乙個經過我們自定義的

此時 id 為 1ebf9eecaed9的容器,是按我們的需求更改的容器。我們可以通過命令 docker commit 來提交容器副本

docker commit -m="has update" -a="zs" 1ebf9eecaed9 centos/centos-vim:mycentos
各個引數說明:

然後檢視映象就能找到自己建立的映象

至此自己根據centos建立的映象中就包含了vim

使用dockerfile是更推薦的方式,這樣可以讓使用者更清晰地看到這個映象的製作細節

docker build -t centos/centos-vim2:mycentos2 .
番外 (番外與此文章無關): docker build -f dockerfile -t zhangshuai/nginx:v3 .

-f指向dockerfile檔案

引數說明:

docker映象是唯讀的,這裡為什麼能夠在centos映象的基礎上進行自定義操作呢?

我們看一下docker的編譯過程

臨時建立了乙個容器id 在建立完映象後最終將這個容器刪掉了

結論 :docker build 根據dockerfile檔案進行建立映象的時候實際也是按照第一種建立映象的方式 先臨時生成乙個容器id 並且按照dockerfile中的流程進行執行 container來docker commit生成映象檔案,最後刪除臨時container 最終刪除臨時建立的容器。

docker封裝redis映象

線上使用的redis版本為3.2.13,但是dockerhub沒有此版本的映象。只有3.2.12 但是預設的映象啟動時,是沒有redis.conf的,如果需要加配置,需要自己定義配置檔案。建立目錄 dockerfile目錄 mkdir p opt dockerfile redis 持久化目錄 mkd...

docker製作MYSQL映象

參考 參考 先從倉庫拉去某個版本的mysql,例如pull5.6版本的 sudo docker pull mysql 5.6 然後就是建立mysql容器 sudo docker run p 3307 3306 e mysql root password 123456 d mysql 5.6 指定了m...

Docker 製作mysql映象

拉取ubuntu映象 docker pull docker.io ubuntu 14.04.3 執行乙個容器 docker run name mysql p 33 3306 v mysql var lib mysql it docker.io ubuntu 14.04.3 p 對映容器埠3306到本...