如果在運行docker-compose ps
命令時出現“command not found”錯誤,這意味着系統無法找到docker-compose
命令。這可能是因爲docker-compose
並未正確安裝或者其路徑沒有添加到系統的環境變量中。
如果你已經安裝了Docker,但是未安裝docker-compose
,你可以通過以下步驟安裝它:
- 在終端中運行以下命令來下載
docker-compose
的二進制文件:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
這會將docker-compose
下載並安裝到/usr/local/bin/
目錄中。
- 授予
docker-compose
執行權限:
sudo chmod +x /usr/local/bin/docker-compose
- 現在,嘗試重新運行
docker-compose ps
命令。
如果docker-compose
已正確安裝,但在運行時仍出現“command not found”錯誤,可能是因爲其路徑沒有添加到系統的環境變量中。你可以手動將其路徑添加到環境變量中,或者在運行命令時使用絕對路徑。例如:
/usr/local/bin/docker-compose ps
到這裏,你的docker-compose 就安裝成功了。
docker 已經跟隨系統啓動了,但是docker下面安裝的nginx 沒有跟隨docker啓動。
這個需要docker-compose來管理。
1.找一個文件夾,存放docker 的一些工程文件。
例如我們這裏是 /home/henry/dockerPath,在它下面創建一個 名爲 docker-compose.yml
文件。
touch docker-compose.yml
使用 Docker Compose
如果你使用 Docker Compose 管理容器,你可以在 docker-compose.yml
文件中設置 Nginx 服務的啓動選項。例如:
version: '3' services: nginx: image: nginx restart: always # 總是重啓容器
然後,運行 docker-compose up -d
啓動服務,此時 Nginx 將在 Docker 啓動時自動啓動。
重啓docker
sudo systemctl restart docker
查看 docker下面運行的容器
docker ps
此時我們會看到 nginx跟隨了 docker一起啓動。
這是我目前的 yml文件。
[henry@192 dockerPath]$ pwd /home/henry/dockerPath [henry@192 dockerPath]$ [henry@192 dockerPath]$ cat docker-compose.yml version: '3' services: myNginx: image: nginx restart: always my_centos: image: centos:centos7.9.2009 restart: always [henry@192 dockerPath]$
每次yml文件修改之後,需要執行
docker-compose up -d
sudo systemctl restart docker
sudo systemctl status docker