Docker,比起虛擬機來,還是比較方便的。Docker裏面的運行環境,相對於單獨安裝軟件來說唯一的優點就是內容比較乾淨整潔。不像軟件隨地放文件。
今天下午重新拾起來Docker,目的就是想搭建一個PHP的運行環境,無非就是安裝下面幾個軟件:
PHP
MySQL
Nginx
國外軟件不得不說的一點,就是慢,好在現在阿里雲比較體貼我們這些程序員,提供了容器鏡像服務。鏈接直達:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
爲阿里雲的加速服務點贊。
好了,加速問題搞定了,那麼就來安裝軟件了,我們在選擇軟件的時候,儘量選擇帶alpine
的容器,因爲這種比較精簡。
比如:
docker run -d --rm --name php-72 php:7.2.2-fpm-alpine
docker run 會自動下來鏡像,並運行,之中的 -d 爲後臺運行。
查看已經運行的容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b5fa7365def php:7.2.2-fpm-alpine "docker-php-entrypoi…" 6 seconds ago Up 6 seconds 9000/tcp php-72
查看容器的輸出 - 進入容器
上面命令用到了 -d
作爲後臺運行,那麼我們想看一下他的輸出,就可以用到 docker attach
然後加上容器的 CONTAINER ID
docker attach 1b5fa7365def
我們看到了容器的輸出。
我們可以通過下面命令進入交互式操作:
docker exec -it 1b5fa7365def /bin/bash
停止容器
docker stop 加上 上面的 CONTAINER ID
docker stop 1b5fa7365def
再次運行 ps 的時候,我們就可以用 docker start 1b5fa7365def
就可以了
刪除容器
docker rm CONTAINER ID
停止所有容器
我們發現 docker ps -a -q
會列出所有 CONTAINER ID ,我們只需要將列出的CONTAINER ID 作爲參數傳到 docker stop
即可
docker stop $(docker ps -a -q)
同樣刪除也可以這麼用:
docker rm $(docker ps -a -q)