Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上php
1、docker的安裝及卸載mysql
1.查看當前系統內核版本:nginx
[root@docker ~]# uname -r 3.10.0-514.el7.x86_64
2.安裝dockergit
[root@docker ~]# yum -y install docker-io
3.啓動 Docker 後臺服務sql
[root@docker ~]# systemctl start docker.service
4.鏡像加速docker
鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,咱們能夠須要配置加速器來解決,我使用的是阿里的鏡像地址:json
在/etc/docker/daemon.json文件中添加以下內容.centos
{ "registry-mirrors": ["https://wghlmi3i.mirror.aliyuncs.com"] }
或者使用以下地址bash
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
修改保存後重啓 Docker 以使配置生效,至此,docker安裝完成!!!網絡
5.卸載docker
列出你安裝過的包
[root@docker ~]# yum list installed | grep docker docker.x86_64 2:1.13.1-53.git774336d.el7.centos @extras docker-client.x86_64 2:1.13.1-53.git774336d.el7.centos @extras docker-common.x86_64 2:1.13.1-53.git774336d.el7.centos @extras
6.刪除軟件包
[root@docker ~]# yum -y remove docker.x86_64 [root@docker ~]# yum -y remove docker-client.x86_64 [root@docker ~]# yum -y remove docker-common.x86_64
2、docker 經常使用指令
1.獲取一個新的鏡像
[root@docker ~]# docker pull [鏡像名稱]
2.列出鏡像列表
[root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/hello-world latest e38bc07ac18e 2 weeks ago 1.85 kB docker.io/nginx latest b175e7467d66 2 weeks ago 109 MB docker.io/centos latest e934aafc2206 2 weeks ago 199 MB docker.io/mysql latest 5195076672a7 6 weeks ago 371 MB
各個選項說明:
REPOSITORY:表示鏡像的倉庫源
TAG:鏡像的標籤
IMAGE ID:鏡像ID
CREATED:鏡像建立時間
SIZE:鏡像大小
3.查找鏡像
咱們也可使用 docker search 命令來從 Docker Hub 網站來搜索鏡像
[root@docker ~]# docker search nginx INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/nginx Official build of Nginx. 8341 [OK] docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1325 [OK] docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 547 [OK] docker.io docker.io/jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... 356 [OK] docker.io docker.io/kong Open-source Microservice & API Management ... 182
4.docker run指令:
Docker 容許你在容器內運行應用程序, 使用 docker run 命令來在容器內運行一個應用程序。
參數說明: -d:讓容器在後臺運行。 -P:將容器內部使用的網絡端口映射到咱們使用的主機上。 -t:在新容器內指定一個僞終端或終端。 -i:容許你對容器內的標準輸入 (STDIN) 進行交互 -p:綁定指定端口
實例:
docker run -d -P -p 1521:1521 -v /data:/home/oracle/data_temp --name oracle_11g alexeiled/docker-oracle-xe-11g
5.docker exec :在運行的容器中執行命令
OPTIONS說明:
-d :分離模式: 在後臺運行
-i :即便沒有附加也保持STDIN 打開
-t :分配一個僞終端
實例:
docker exec -it 775c7c9ee1e1 /bin/bash #其中775c7c9ee1e1 爲容器ID號
6. docker logs [ID或者名字] 能夠查看容器內部的標準輸出
# docker logs 353e6c82b2fc # docker logs -f 353e6c82b2fc -f:讓 dokcer logs 像使用 tail -f 同樣來輸出容器內部的標準輸出。
7. 中止WEB應用容器
#docker stop cid|names
8. 移除WEB應用容器
#docker rm CID|NAMES
9. 查詢最後一次建立的容器
#docker ps -l
10.docker commit :從容器建立一個新的鏡像。
OPTIONS說明:
-a :提交的鏡像做者;
-c :使用Dockerfile指令來建立鏡像;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
提交變動,相似於git的commit,只提交變化的部分
docker commit 2ee8517b15cf test/oracle
也能夠像git同樣指定更加詳細的提交信息.
# docker commit -a "saneri" -m "my dev oracle" 5cbe0fdb46a6 dev_p2p/oracle:latest
11.docker ps : 列出容器
語法
docker ps [OPTIONS]
OPTIONS說明:
-a :顯示全部的容器,包括未運行的。
-f :根據條件過濾顯示的內容。
--format :指定返回值的模板文件。
-l :顯示最近建立的容器。
-n :列出最近建立的n個容器。
--no-trunc :不截斷輸出。
-q :靜默模式,只顯示容器編號。
-s :顯示總的文件大小。
實例:(三所示內容)
3、Docker刪除容器與鏡像
1.中止全部的container,這樣纔可以刪除其中的images:
docker stop $(docker ps -a -q)
若是想要刪除全部container的話再加一個指令:
docker rm $(docker ps -a -q)
查看當前有些什麼images
docker images
刪除images,經過image的id來指定刪除誰
docker rmi <image id>
想要刪除untagged images,也就是那些id爲的image的話能夠用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要刪除所有image的話
docker rmi $(docker images -q)
強制刪除所有image的話
docker rmi -f $(docker images -q)