1. Docker 安裝&卸載
1.1 虛擬機安裝
1.2 環境準備
- 關閉防火牆
systemctl stop firewalld - 禁止防火牆
systemctl disable firewalld - 關閉SELinux
vi /etc/selinux/config
修改SELINUX=disabled
重啓reboot - 安裝iptables
yum -y install iptables-services - 啓動iptables
systemctl start iptables - 使能iptables
systemctl enable iptables - 清除防火牆規則
iptables -F - 保持防火牆規則
service iptables save - 更新系統
yum -y update
重啓reboot
1.3 離線rpm安裝docker
經rpm包拷貝到一個目錄
[root@localhost ~]# cd docker
[root@localhost docker]# ll
total 19096
-rw-r--r-- 1 root root 19521288 May 24 03:13 docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root 29108 May 24 03:13 docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm
1.3.1 執行安裝
yum -y install *
1.3.2 啓動
systemctl start docker
systemctl enable docker
systemctl status docker
1.3.3 測試docker
docker run hello-world
如果報錯一般是鏡像下載失敗,需要配置鏡像加速
1.3.4 配置鏡像加速
[root@localhost docker]# pwd
/etc/docker
[root@localhost docker]# ll
total 8
-rw-r--r-- 1 root root 105 May 24 04:49 daemon.json
-rw------- 1 root root 244 May 24 03:19 key.json
[root@localhost docker]#
修改daemon.json(沒有自己創建該文件)
{
"registry-mirrors":["http://hub-mirror.c.163.com"]
}
修改完後執行
systemctl daemon-reload
systemctl restart docker
1.4 卸載Docker
要確保容器停止docker container stop xxx,docker rm xxx,docker停止systemctl stop docker之後,再執行下面操作
1.4.1 yum list installed|grep docker
[root@localhost docker]# yum list installed|grep docker
docker-ce.x86_64 17.03.0.ce-1.el7.centos @/docker-ce-17.03.0.ce-1.el7.centos.x86_64
docker-ce-selinux.noarch 17.03.0.ce-1.el7.centos @/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch
1.4.2 yum -y remove
yum -y remove docker-ce-selinux.noarch
yum -y remove docker-ce.x86_64
1.4.3 再次查看
[root@localhost docker]# yum list installed|grep docker
[root@localhost docker]# docker
-bash: /usr/bin/docker: No such file or directory
2. 鏡像和容器基本操作
2.1 docker信息
docker info
[root@localhost docker]# docker info
Containers: 0
...
Images: 0
Server Version: 17.03.0-ce
...
Registry Mirrors:
http://hub-mirror.c.163.com
Live Restore Enabled: false
2.2 鏡像操作
2.2.1 查詢鏡像
docker search tomcat
[root@localhost docker]# docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementa... 2736 [OK]
...
2.2.2 鏡像拉取
docker pull ubuntu:16.04
$ docker pull [選項] [Docker Registry 地址[:端⼝]/]倉庫名[:標籤]
2.2.3 鏡像查看
docker images
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 005d2078bdfa 4 weeks ago 125 MB
...
2.2.4 運行鏡像生成容器
docker run ubuntu:16.04
[root@localhost docker]# docker run -it --rm ubuntu:16.04 /bin/bash
root@71b85e29f790:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
...
-d 後臺運行
-it交互式終端操作
--rm 容器退出後便被刪除
2.2.5 刪除本地鏡像
$ docker image rm [選項] <鏡像1> [<鏡像2> ...]
$ docker rmi 鏡像名
2.3 磁盤使用查看
docker system df
[root@localhost docker]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 2 2 124.7 MB 0 B (0%)
Containers 3 0 0 B 0 B
Local Volumes 0 0 0 B 0 B
2.4 容器操作
2.4.1 啓動已終止的容器
docker container start
2.4.2 查看容器
docker ps
docker container ls
docker ps -a
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
16d80ed1acd8 ubuntu:16.04 "/bin/bash" 58 seconds ago Up 58 seconds zealous_dijkstra
docker ps 和 docker container ls 一樣;docker ps -a 和 docker container ls -a 一樣
2.4.3 終止容器
docker container stop
2.4.4 重啓容器
docker container restart
2.4.5 刪除容器
docker container rm
docker rm
2.4.6 進入容器
docker exec -it
[root@localhost docker]# docker run -dit ubuntu:16.04
16d80ed1acd8903e91491ac5c9b50a640dc6059e3bfc8030531a49bd54211637
[root@localhost docker]# docker exec -it 16d80ed1acd8 bash
root@16d80ed1acd8:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@16d80ed1acd8:/# exit
exit