CentOS7下安裝docker並測試安裝MySQL


 

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

官網:https://www.docker.com/ 相關資料:

1、Docker入門教程 http://dockone.io/article/111

2、Docker_百度百科 http://baike.baidu.com/view/11854949.htm

3、史上最全Docker資料集粹 http://special.csdncms.csdn.net/BeDocker/

4、Docker - 話題精華 - 知乎 http://www.zhihu.com/topic/19950993/top-answers

5、docker 簡明教程 | 簡果網 http://www.simapple.com/docker-tutorial

6、如何使用Dockerfile構建鏡像 http://blog.csdn.net/qinyushuang/article/details/43342553

7、Dockerfile reference - Docker https://docs.docker.com/engine/reference/builder/

Docker與虛擬機比較

作為一種輕量級的虛擬化方式,Docker在運行應用上跟傳統的虛擬機方式相比具有顯著優勢:

Docker容器很快,啟動和停止可以在秒級實現,這相比傳統的虛擬機方式要快得多。

Docker容器對系統資源需求很少,一台主機上可以同時運行數千個Docker容器。

Docker通過類似Git的操作來方便用戶獲取、分發和更新應用鏡像,指令簡明,學習成本較低。

Docker通過Dockerfile配置文件來支持靈活的自動化創建和部署機制,提高工作效率。

虛擬機實現了硬件上的虛擬,而Docker則實現了操作系統級別的虛擬。

安裝

Docker 要求 Ubuntu 系統的內核版本高於 3.10 ,通過 uname -r 命令查看你當前的內核版本:

[root@bogon ~]#  uname -r

3.10.0-327.22.2.el7.x86_64

Docker支持以下的CentOS版本:

CentOS 7 (64-bit)

CentOS 6.5 (64-bit) 或更高的版本

Docker 支持以下的 Ubuntu 版本:

Ubuntu Precise 12.04 (LTS)

Ubuntu Trusty 14.04 (LTS)

Ubuntu Wily 15.10

其他更新的版本……

Linux安裝

curl -fsSL https://get.docker.com/ | sh  

# daocloud.io 國內鏡像

curl -sSL https://get.daocloud.io/docker | sh

該安裝包適用於 Ubuntu,Debian,Centos 等大部分主流 Linux 發行版。

當以普通用戶身份去使用docker images時,如果出現以下錯誤:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

是因為權限問題:

sudo groupadd docker

sudo gpasswd -a ${USER} docker

sudo service docker restart

newgrp - docker

CentOS7支持使用yum安裝:

yum update

yum install docker

查看文檔:

https://docs.docker.com/engine/installation/linux/centos/

http://docs.daocloud.io/faq/install-docker-daocloud

查看版本:

docker version

顯示:

Client:  

Version:      1.11.2  

API version:  1.23  

Go version:   go1.5.4  

Git commit:   b9f10c9  

Built:        Wed Jun  1 21:23:11 2016  

OS/Arch:      linux/amd64  

Server:  

Version:      1.11.2  

API version:  1.23  

Go version:   go1.5.4  

Git commit:   b9f10c9  

Built:        Wed Jun  1 21:23:11 2016  

OS/Arch:      linux/amd64

啟動docker服務:

service docker start  

# 或者 systemctl start docker

centos7使用systemctl 替代service 管理服務。

systemctl 常見用法:

# 格式

systemctl   動作   服務名.service  

# 常見命令 systemctl start docker #啟動

systemctl restart docker #重啟

systemctl stop docker #停止

systemctl status docker #查看狀態

systemctl enable docker #自啟動

systemctl disable docker #禁止自啟動

.service可以省略。 (詳見:RHEL7中systemctl的用法 http://blog.csdn.net/catoop/article/details/47318225)

為了后面的需要,我們這里下載個ubuntu的鏡像:

docker search ubuntu

docker pull ubuntu 

# 查看所有可用鏡像 docker images -a

 

使用docker命令  docker images 備注:查看docker已經安裝的鏡像 裸機狀態下為空

 使用docker安裝mysql step1:使用docker pull 拉取docker hub倉庫中mysql鏡像 (注意備注) mysql鏡像版本如下:

 

docker pull mysql:8.0

備注:docker pull 默認到官方參考拉取  mysql:8.0   鏡像名:鏡像tag     

         官方地址為國外地址安裝緩慢可進行配置

修改鏡像文件拉取地址為ustc 

vi /etc/docker/daemon.json

備注:insert 編輯內容如下      並esc  輸入:wq 保存退出  

{

"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]

}

重啟docker   重新進行step1 安裝速度變快

systemclt restart docker

查看鏡像安裝情況

docker images

啟動docker中鏡像

docker run --name mysql8.0 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

備注 :--name 服務啟動別名設置  -p端口映射 宿主機端口:鏡像運行端口  -d 鏡像名:tag 使用守護進程模式啟動 -e:設置root帳號密碼

查看運行的鏡像

docker ps -a

進入鏡像 運行mysql

docker exec -it mysql8.0 /bin/bash

備注:exec docker進入容器命令   -it 容器中服務別名 /bin/bash   表示命令行模式  與 -d 后台守護進行模式啟動 形成兩種運行方式    進入容器中如圖所示變化如下

 

cd /usr/bin

mysql -u root -p 備注: 在容器中進入用戶目錄啟動mysql 輸入密碼連接成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM