注意:非root用戶必須要有sudo權限
一、安裝前的准備
1.查看當前主機是否有docker組
若沒有輸出結果則新建
再次查看,發現已經有了docker組
2.把需要使用docker指令的用戶加入到docker組,此時用戶並沒有加入進docker組
退出當前用戶,重新登錄,此時可以看到用戶已經加入docke
二、安裝docker
1.下載docker源碼包並上傳至虛擬機
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/
2.解壓源碼包至指定目錄下
3.將解壓出來的docker目錄下的指令復制到 /usr/bin/ 目錄下
sudo chown root:docker docker/*
sudo mv docker/* /usr/bin/
4.查看一下是否改變所屬用戶和所屬組(得到和解壓出來的docker目錄下的一樣的8個指令)
5.將docker注冊為service服務
新建該文件 sudo vi /etc/systemd/system/docker.service 加入以下內容: [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target
6.添加執行權限並重新加載配置文件
sudo chmod a+x /etc/systemd/system/docker.service
sudo systemctl daemon-reload
7.docker鏡像加速和基本配置(可以不做,但是docker pull會很慢,由於docker官網在海外)
sudo mkdir /etc/docker
sudo vi /etc/docker/daemon.json
加入以下內容
{
#docker數據目錄 "data-root":"/app/docker",
#docker存儲的類型 "storage-driver":"overlay2",
#docker日志記錄級別 "log-level":"INFO",
#docker日志驅動程序 "log-driver":"json-file",
#dockr驅動程序選項 "log-opts": { "max-size": "10m", "max-file":"5" },
#docker加速 "registry-mirrors":["http://hub-mirror.c.163.com"] }
8.啟動docker
sudo systemctl start docker
三、docker基礎命令
1、其他指令
docker啟/停/重啟/查看狀態
sudo systemctl start/stop/restart/status
查看當前安裝的docker有關信息
docker info
2、鏡像相關指令
查看已有鏡像
docker images
在docker官網搜尋指定鏡像
docker search 鏡像
下載鏡像(不加標簽默認下載最新版本的鏡像)
docker pull 鏡像名字:tag(即標簽)
保存已有鏡像
docker save -o name.tar 鏡像name:tag
加載鏡像
docker load -i name.tar
鏡像的刪除(刪除鏡像前請刪除所有與該鏡像有關的容器)
docker rmi 鏡像ID(或name:tag)
修改鏡像name和tag
docker tag 鏡像name 新鏡像name:新tag
3、容器相關指令
啟動容器(-d:后台運行;--name:指定容器名字;-p:映射容器端口到本機端口;-v:容器目錄文件掛載至本機目錄)
docker run -d --name 自定義容器name -p 本機端口:容器端口 -v 本機目錄:容器目錄 鏡像ID(或name:tag)
進入正在運行的容器內部(-i:以交互模式運行容器;-t:為容器重新分配一個偽輸入終端.通常it一起使用)
docker exec -it 容器name(或ID) /bin/bash
容器的啟/停/重啟/刪除
docker start/stop/restart/rm 容器name(或ID)
查看容器端口映射
docker port 容器name(或ID)
查看容器信息
docker inspect 容器name(或ID)
查看正在運行的容器
docker ps
查看所有容器(包括正在運行的、停止的,不包括刪除的)
docker ps -a
查看容器內的進程
docker top 容器name(或ID)
監控並顯示最新100行的容器日志(可以直接使用docker logs容器name(或ID),但是日志容量大的最好加上條件)
docker logs -f --tail=100 容器name(或ID)