docker快速入门01——docker安装与简单应用
1.docker簡介
? ? ? ?Docker 是一個開源的應用容器引擎,Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,更重要的是容器性能開銷極低。Docker 從 17.03 版本之后分為 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版),我們用社區版(CE)就可以了。
?
2.docker中的一些基本概念
? ? ?Docker不是一個容器,而是一個管理容器的引擎工具,提供容器運行的環境和服務,并管理本地的鏡像,運行的實例等,正如上圖的docker圖標一樣,docker像一個大型油輪,承載著一個個集裝箱,每個集裝箱我們可以理解為我們的容器,這個容器中的內容完全由組裝人員自定義。
? ? ?容器:?容器好比軟件集裝箱(容器可以理解為一個鏡像的實例,一個鏡像可以有多個實例),它內部可以安裝任何軟件和庫文件,做任意的運行環境配置,它可以被啟動、開始、停止、刪除。每個容器都是 相互隔離的、保證安全性。
? ? ?鏡像:Docker運行容器前需要本地存在對應的鏡像,一個鏡像可以創建多個容器,例如一個tomcat鏡像我們可以創建N個tomcat容器。鏡像可以用來創建Docker容器的。??
? ? ?倉庫:倉庫是存放所有的鏡像文件的場所。個人理解就如同maven的中央倉庫,Docaker公司提供了官方倉庫叫DockerHub,存放了數量龐大的鏡像供用戶下載,但是由于Docker官方網站是外國網站,拉取鏡像的速度非常地慢甚至直接失敗,往往我們需要配置一個鏡像加速器,比如阿里云的鏡像加速器,下文會提及。
3.docker的安裝
在說明下面的安裝過程中,我會提及一些我遇到的問題,也許你不會遇到,僅供參考,以下安裝環境為CentOS7。
1)檢查系統內核版本
通過以下命令檢查linux系統的內核版本,docker要求操作系統必須是64位,且系統內核版本高于3.10
[root@localhost ~]# uname -r我這里的系統和內核版本都是符合要求的。
2)確定當前用戶是否擁有root權限
如果當前用戶不具有root權限,需要在下面的命令前加上sudo,進行提權。
3)檢查系統當中是否安裝過docker或者系統是否自帶docker
?如果沒有顯示出任何結果說明,沒有安裝過docker
[root@localhost ~]# yum list installed | grep docker如果安裝過docker,那么運行下面的命令進行卸載
[root@localhost ~]# yum remove docker-common.x86_644)安裝docker
①安裝一些必要的系統工具
[root@localhost ~]# yum install -y yum-utils device-mapper-persisten②添加軟件源信息
[root@localhost ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo?
④更新 yum 緩存:
[root@localhost ~]# yum makecache fast?
?
⑤使用yum命令安裝docker ce,-y代表全自動,自動確定。
[root@localhost ~]# yum -y install docker-ce?安裝完成
5)測試docker是否安裝成功
[root@localhost ~]# docker version可以顯示出docker版本即為安裝成功。
4.docker的使用
我們通過docker --help命令可以查看docker的所有命令:下面以創建一個mysql5.6的容器來演示docker的基本使用方法。
1)啟動docker后臺服務
[root@localhost ~]# systemctl start docker2)拉取鏡像(Image)
[root@localhost ~]# docker pull mysql:5.6我們輸入上面的命令去拉取mysql5.6的鏡像,卻并沒有拉取成功。
失敗的原因就是我們拉取的倉庫在國外的服務器上,在國內拉取鏡像速度會非常慢甚至直接失敗,所以我們需要配置一個鏡像加速器,下面我就以阿里云的鏡像加速器為例來進行配置,
?首先進入etc/docker目錄,并查看文件夾下的文件,如果找不到daemon.json文件就直接創建一個。
[root@localhost ~]# cd /etc/docker創建daemon.json文件
[root@localhost docker]# touch daemon.json?將下面這段json字符串插入到daemon.json文件中。
{"registry-mirrors": ["https://zc517qo8.mirror.aliyuncs.com"] }重新加載配置文件,重啟docker
[root@localhost docker]# systemctl daemon-reload [root@localhost docker]# systemctl restart docker我們再次拉取mysql5.6鏡像就可以拉取成功,并且下載速度也是棒棒的。
列出所有的鏡像:
[root@localhost docker]# docker images可以看到我們剛剛拉取得mysql5.6的鏡像。
3)啟動并創建一個mysql容器
[root@localhost docker]# sudo docker run --name wzy-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.6- –name:給新創建的容器命名,此處命名為wzy-mysql
- -e:配置信息,此處配置mysql的root用戶的登錄密碼
- -p:端口映射,此處映射主機3306端口到容器wzy-mysql的3306端口
- -d:成功啟動容器后輸出容器的完整ID,例如下圖?c8226e9c9272
- 最后一個mysql指的是mysql鏡像名字(如需指定版本要加上:和版本號)
查看docker中的容器信息:
[root@localhost docker]# docker ps可以看到容器已經被創建并啟動。
?
4)測試mysql連接
使用navicat對mysql進行連接
連接成功!
在這里如果無法連接可以關閉linux的防火墻
[root@localhost docker]# systemctl stop firewalld并且在iptables里開放3306端口,完結撒花~~~~~~~~~~~~~~~~~~~~~~~~~~
轉載于:https://www.cnblogs.com/fengyun2019/p/11009534.html
總結
以上是生活随笔為你收集整理的docker快速入门01——docker安装与简单应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka整理笔记笔记
- 下一篇: nginx教程全集汇总(ttlsa出品)