1. 程式人生 > >docker學習的一點記錄(一)

docker學習的一點記錄(一)

dockerfile

環境:阿里雲 docker 傻瓜一鍵映象(有公網IP,SSH)
自己本地:windows7
ssh終端:xshell xftp
docker 是這個傻瓜映象 自己帶的

下載docker 映象 選擇的是國內的 網易蜂巢
https://c.163.com/hub#/m/repository

下面是一張圖片
簡單的介紹了一下,dockerfile當中的一些語法及對應功能
這裡寫圖片描述

最後的 entrypoint 是 docker 啟動這個映象的時候,會在容器內部執行的一條命令。

entrypoint 和 CMD 的區別

有了dockerfile 之後呢 就可以 build 一下了
通常的 build 是以下的命令: (dockerfile 當前目錄)

docker build -t registry_url/namespace/yourname/imagename:tag .

. : 當前路徑
./path : 絕對路徑
比如:
docker build -t docker.niubi.com/test/me/centos:7.1.201 .

docker 啟動一個mysql(window本地navicat可連線)

docker run --name some-mysql -v /data/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 hub.c.163
.com/library/mysql:latest

這樣就啟動了一個 ,有資料儲存在 宿主機 目錄的docker mysql 服務

這裡寫圖片描述

在這裡面可以看到 mysql 初始的幾張表
這樣你所有的 資料都不會丟失了。
而且如果需要別的docker mysql 也用這個資料的話
比如說,你想做兩個mysql,一個是 insert update delete ,另外一個只是select
再多啟用幾個docker,掛載使用同一個宿主機 資料目錄就好了。

這樣真的簡單了很多

docker exec -it some-mysql /bin/bash

進去docker mysql 容器 檢視下 裡面都是什麼東東

試用了 vi 命令,他說 vi 找不到,不管了

mysql -u root -p

在容器裡面使用了 這個命令 輸入之前啟動docker mysql 容器時的密碼
就可以登入了,然後 show databases 等等sql 語句 直接 666 的耍起來

關閉了這個docker mysql 容器 也不會 丟失資料,因為 我們掛載了 volume 在宿主機!

檢視下所有的docker容器

docker ps -a 

這裡寫圖片描述

安裝docker-compose

解決辦法:
進入下面的網址下載目前的最新版:
https://github.com/docker/compose/releases/tag/1.14.0-rc2
網頁拉到最下面,下載:
docker-compose-Linux-x86_64
然後將檔案上傳到 /usr/local/bin/ 資料夾下,然後將其重新命名為docker-compose,修改此檔案的許可權,增加可執行:chmod +x /usr/local/bin/docker-compose
然後再執行
[[email protected] bin]# docker-compose version
docker-compose version 1.14.0-rc2, build 24dae73
docker-py version: 2.3.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
可以看到已經沒有問題了。

有了docker-compose 之後 就可以 執行 .yml 檔案了