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)