Docker 製作和執行映象

2021-08-14 21:19:54 字數 2467 閱讀 2241

本文目的是展示docker映象的製作和執行,以mysql為例。

製作mysql映象,該映象以mysql5.6映象為基礎,並實現:

- 新增root使用者密碼

- 修改配置檔案使得預設字符集為utf-8

建立目錄

docker-test/image/joget-mysql-v1

映象配置檔案dockerfile

from mysql:5.6

# 新增root使用者密碼

env mysql_root_password root

# 修改配置檔案使得預設字符集為utf-8

copy mysql.cnf /etc/mysql/conf.d

copy mysqld.cnf /etc/mysql/mysql.conf

.d

mysql.cnf內容為:

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

mysqld.cnf內容為:

[mysqld]

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

datadir = /var/lib/mysql

#log-error = /var/log/mysql/error.log

# disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

collation-server = utf8_unicode_ci

init-connect='set names utf8'

character-set-server = utf8

構建映象

cd到目錄joget-mysql-v1,執行:

docker build -t joget-mysql:v1 .
docker build命令:缺省會讀取目錄下名稱為dockfile的檔案,如果想使用其它名稱的檔案可以加入 -f 選項

-t選項: joget-mysql是映象名稱,冒號後邊的v1是tag名稱

不要忘記最後的點』.』 ,這個是指上下文,這裡表示當前目錄

顯像管理

列出所有映象:docker image ls

刪除映象:docker image rm joget-mysql:v1

刪除所有無用映象:docker image prune

建立目錄

docker-test/image/joget-mysql-v1下建立data資料夾,用於儲存資料庫的資料

啟動容器

啟動容器

docker run -d

\--name joget-mysql\-p

3307:3306\-v

"$(pwd)"/data:/var/lib/mysql \

joget-mysql:v1

-d: 以後臺方式執行

–name: 容器的名稱,可用該name來操作容器

-p: 用於宿主和容器的埠對映,冒號前是宿主的埠,冒號後是容器暴露出來的埠

-v: 用於宿主和容器的目錄對映,這裡將docker-test/image/joget-mysql-v1/data目錄作為容器/var/lib/mysql目錄的對映

joget-mysql:v1表示該容器基於什麼映象執行

可以通過日誌命令檢視容器執行日誌:docker logs joget-mysql

也可以進入容器進行檢查,進入的命令為:docker exec -it joget-mysql bash

進入容器後,測試資料庫連線是否正常:mysql -uroot -p

關閉容器:docker container stop joget-mysql

關閉後可以使用start再啟動:docker container start joget-mysql

如果關閉容器後,以後不想再啟動了,可以刪除該容器:docker rm joget-mysql

也可以使用命令prune刪除所有不在啟動狀態的容器:docker container prune

Docker映象製作和管理

2.基於基礎映象啟動乙個容器,並進入到容器 3.在容器裡面做配置操作 安裝基礎命令 配置執行環境 安裝服務和配置服務 放業務程式 4.提交為乙個新映象 docker commit 5.基於自己的的映象建立容器並測試訪問 格式一 格式二 dockerfile是一種被docker程式解釋執行的指令碼,由...

製作docker 映象並執行訪問

建立dockerfile檔案 內容如下 from nginx run echo hello fizz this is my image usr share nginx html index.html 在dockerfile 執行 docker build t nginx pmc 注意這裡最後有乙個點...

製作docker映象

命令docker build,從零開始來建立乙個新的映象。為此,我們需要建立乙個 dockerfile 檔案,其中包含一組指令來告訴 docker 如何構建我們的映象 指定基礎映象 from openjdk 8 dockerfile使用變數 可以在dockerfile中進行引用 工作目錄 指定ver...