1踊淳、簡介
Docker是一個開源的應(yīng)用容器引擎甚牲;是一個輕量級容器技術(shù)灶壶;
Docker支持將軟件編譯成一個鏡像肝断;然后在鏡像中各種軟件做好配置,將鏡像發(fā)布出去驰凛,其他使用者可以直接使用這個鏡像胸懈;
運行中的這個鏡像稱為容器,容器啟動是非城∠欤快速的趣钱。
docker
原理
2、核心概念
docker主機(Host):安裝了Docker程序的機器(Docker直接安裝在操作系統(tǒng)之上)胚宦;
docker客戶端(Client):連接docker主機進行操作首有;
docker倉庫(Registry):用來保存各種打包好的軟件鏡像;
docker鏡像(Images):軟件打包好的鏡像枢劝;放在docker倉庫中绞灼;
docker容器(Container):鏡像啟動后的實例稱為一個容器;容器是獨立運行的一個或一組應(yīng)用
核心
使用Docker的步驟:
1)呈野、安裝Docker
2)低矮、去Docker倉庫找到這個軟件對應(yīng)的鏡像;
3)被冒、使用Docker運行這個鏡像军掂,這個鏡像就會生成一個Docker容器轮蜕;
4)、對容器的啟動停止就是對軟件的啟動停止蝗锥;
3跃洛、安裝Docker
在linux虛擬機上安裝docker
1、檢查內(nèi)核版本终议,必須是3.10及以上
uname -r
2汇竭、安裝docker
yum install docker
3、輸入y確認安裝
4穴张、啟動docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker -v
Docker version 1.12.6, build 3e8e77d/1.12.6
5细燎、開機啟動docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
6、停止docker
systemctl stop docker
4皂甘、Docker常用命令&操作
1)玻驻、鏡像操作
操作 | 命令 | 說明 |
---|---|---|
檢索 | docker search 關(guān)鍵字 eg:docker search redis | 我們經(jīng)常去docker hub上檢索鏡像的詳細信息,如鏡像的TAG偿枕。 |
拉取 | docker pull 鏡像名:tag | :tag是可選的璧瞬,tag表示標簽,多為軟件的版本渐夸,默認是latest |
列表 | docker images | 查看所有本地鏡像 |
刪除 | docker rmi image-id | 刪除指定的本地鏡像 |
https://hub.docker.com/
2)嗤锉、容器操作
1、搜索鏡像
[root@localhost ~]# docker search tomcat
2墓塌、拉取鏡像
[root@localhost ~]# docker pull tomcat
3档冬、根據(jù)鏡像啟動容器
docker run --name mytomcat -d tomcat:latest
4、docker ps
查看運行中的容器
5桃纯、停止運行中的容器
docker stop 容器的id
6酷誓、查看所有的容器
docker ps -a
7、啟動容器
docker start 容器id
8态坦、刪除一個容器
docker rm 容器id
9盐数、啟動一個做了端口映射的tomcat
[root@localhost ~]# docker run -d -p 8888:8080 tomcat
-d:后臺運行
-p: 將主機的端口映射到容器的一個端口 主機端口:容器內(nèi)部的端口
10、為了演示簡單關(guān)閉了linux的防火墻
service firewalld status 伞梯;查看防火墻狀態(tài)
service firewalld stop:關(guān)閉防火墻
11玫氢、查看容器的日志
docker logs container-name/container-id
5、docker安裝&啟動Mysql
安裝
[root@localhost ~]# docker pull mysql
錯誤啟動
[root@localhost ~]# docker run --name mysql01 -d mysql
結(jié)果
正確啟動
使用-e指定root用戶的密碼
[root@localhost ~]# docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
3a40bee62ac92b65ce2e7aff933dbb5635c0705bdbe01070af355520815f7d6e
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a40bee62ac9 mysql "docker-entrypoint..." 3 seconds ago Up 3 seconds 3306/tcp, 33060/tcp mysql01
端口映射
[root@localhost ~]# docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
之后在連接谜诫,就可以連接了
連接成功