一、基礎組件
docker鏈接: https://pan.baidu.com/s/1A5xVkus8ZNT5hXfVZ5yCcQ 提取碼: rk7b
docker-compose鏈接: https://pan.baidu.com/s/1fdqk-CmEp4twA0vvlSjF7A 提取碼: ruk9
二、docker安裝
# 創建基礎路徑 將docker-18.06.1-ce.tgz文件放置到此目錄下
mkdir ~/docker
cd ~/docker
# 解壓docker文件
tar -xvf docker-18.06.1-ce.tgz
# 將解壓出來的docker目錄下的文件移動到/usr/bin/目錄下
cp ~/docker/* /usr/bin/
# 編寫docker服務文件docker.service,將docker註冊爲系統service服務
vim /etc/systemd/system/docker.service
# 添加docker文件權限並啓動docker
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker #啓動Docker
systemctl enable docker.service #設置開機自啓
# 驗證docker是否安裝成功
systemctl status docker #查看Docker狀態
docker -v #查看Docker版本
#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
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
三、docker-compose安裝
# 將docker-compose-Linux-x86_64文件放置到此目錄下
cd ~/docker
# 將docker-compose-Linux-x86_64文件拷貝到/usr/bin目錄或/usr/local/bin目錄
sudo cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
# 賦予docker-compose文件權限
sudo chmod +x /usr/local/bin/docker-compose
# 驗證是否安裝成功
sudo docker-compose -v
四、常用docker-compose指令
# 查看當前啓動的容器
sudo docker-compose ps
# 啓動部分服務在後邊加服務名,不加表示啓動所有,-d 表示在後臺運行
sudo docker-compose up [nginx|php| ...] -d
# 停止和啓動類似
sudo docker-compose stop [nginx|php| ...]
# 停止並刪除相關的容器
sudo docker-compose down [nginx|php| ...]
# 刪除所有未運行的容器
sudo docker rm $(sudo docker ps -a -q)
# 刪除所有未運行的鏡像,-f 可以強制刪除
sudo docker rmi $(sudu docker images -q)
# 重新構建過清理無效數據(注意如果執行 docker images -a 會出現一些 none 的鏡像,這些是構建鏡像的中間層不佔用空間也不是垃圾數據,不用管,使用下面的命令就是清理無效數據)
sudo docker system prune