Docker
1、簡介
Docker是一個開源的應用容器引擎;是一個輕量級容器技術;
Docker支持將軟件編譯成一個鏡像;然後在鏡像中各種軟件做好配置,將鏡像發佈出去,其他使用者可以直接使用這個鏡像;
運行中的這個鏡像稱爲容器,容器啓動是非常快速的。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PpNYRfv4-1581213026803)(./images/搜狗截圖20180303145450.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vc5hsPsD-1581213026808)(./images/搜狗截圖20180303145531.png)]
2、核心概念
docker主機(Host):安裝了Docker程序的機器(Docker直接安裝在操作系統之上);
docker客戶端(Client):連接docker主機進行操作;
docker倉庫(Registry):用來保存各種打包好的軟件鏡像;
docker鏡像(Images):軟件打包好的鏡像;放在docker倉庫中;
docker容器(Container):鏡像啓動後的實例稱爲一個容器;容器是獨立運行的一個或一組應用
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IgvIWwhD-1581213026809)(images/搜狗截圖20180303165113.png)]
使用Docker的步驟:
1)、安裝Docker
2)、去Docker倉庫找到這個軟件對應的鏡像;
3)、使用Docker運行這個鏡像,這個鏡像就會生成一個Docker容器;
4)、對容器的啓動停止就是對軟件的啓動停止;
3、安裝Docker
1)、安裝linux虛擬機
1)、VMWare、VirtualBox(安裝);
2)、導入虛擬機文件centos7-atguigu.ova;
3)、雙擊啓動linux虛擬機;使用 root/ 123456登陸
4)、使用客戶端連接linux服務器進行命令操作;
5)、設置虛擬機網絡;
橋接網絡=選好網卡==接入網線;
6)、設置好網絡以後使用命令重啓虛擬機的網絡
service network restart
7)、查看linux的ip地址
ip addr
8)、使用客戶端連接linux;
2)、在linux虛擬機上安裝docker
步驟:
# 安裝url
https://www.cnblogs.com/yufeng218/p/8370670.html
1、檢查內核版本,必須是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 關鍵字 eg:docker search redis | 我們經常去docker hub上檢索鏡像的詳細信息,如鏡像的TAG。 |
拉取 | docker pull 鏡像名:tag | :tag是可選的,tag表示標籤,多爲軟件的版本,默認是latest |
列表 | docker images | 查看所有本地鏡像 |
刪除 | docker rmi image/id | 刪除指定的本地鏡像 |
docker的倉庫
https://hub.docker.com/
去docker倉庫找相對應的tag
2)、容器操作
軟件鏡像(QQ安裝程序)----運行鏡像----產生一個容器(正在運行的軟件,運行的QQ);
步驟:
1、搜索鏡像
[root@localhost ~]# docker search tomcat
2、拉取鏡像
[root@localhost ~]# docker pull tomcat
# 加速registry.docker-cn.com/library/,後面跟上相對應的版本,去docker倉庫裏查看
docker pull registry.docker-cn.com/library/rabbitmq:3.7-management
3、根據鏡像啓動容器,mytomcat自己取名字 -d:後臺運行,image-name:指定鏡像模板
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: 將主機的端口映射到容器的一個端口 主機端口:容器內部的端口
-it:交互式運行
10、爲了演示簡單關閉了linux的防火牆
service firewalld status ;查看防火牆狀態
service firewalld stop:關閉防火牆
# 開放端口,例如,開啓3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=1000-5000/tcp
11、查看容器的日誌
docker logs container-name/container-id
更多命令參看
https://docs.docker.com/engine/reference/commandline/docker/
可以參考每一個鏡像的文檔