环境是阿里云 ubuntu 18.0
1. 安装Docker
我们可以从各个Linux发行版本的软件库中安装,也可以直接从官方提供的脚本安装,这样能安装最新的版本. 因为在国内, 我们可以直接通过阿里云镜像安装, 使用以下代码
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
安装完成之后我们可以使用以下命令查看Docker版本信息
docker -v
我们可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器,添加以下代码
{ "registry-mirrors": ["https://g6ogy192.mirror.aliyuncs.com"] }
重启Docker服务后,我们下载的官方镜像会从阿里云上去拉取,不过私人镜像还是从Docker官方的Dockerhub去拉取.Debian中使用以下代码重启Docker服务
systemctl restart docker
2. 下载Docker镜像
我们直接使用以下命令拉取自定义的镜像
# 拉取镜像 docker pull jkdev/php:7.2-apache # 拉取完成之后,查看本地镜像 docker images
3.创建Docker容器运行项目
我们在服务器上创建一个专门存放web项目的目录,如下代码
# 创建目录 mkdir /www # 进入目录 cd /www
现在我们基于jkdev/php:7.2-apache镜像创建Docker容器,并把/www目录映射到docker中对应的apache的web项目目录. 如下代码:
docker run -d -p 80:80 -p 443:443 -p 465:465 --name apache -v /etc/localtime:/etc/localtime:ro -v "$PWD":/var/www/html jkdev/php:7.2-apache
命令与参数说明:
- run: 代表运行一个容器
- -d: 在后台运行容器
- -p: 将宿主机端口与容器端口进行映射,格式为 < 宿主机端口>:<容器端口>
- --name: 指定容器的名称
- -v: 将主机的目录与容器目录进行映射,格式为 <主机目录>:<容器目录>
4.运行项目
我们使用的镜像中,apache集成了php环境,所以基于此镜像启动的容器可以作为html代码和php代码的容器,并且向公网开放. 下面我们从github上拉取一个html简单项目,作为部署的网站
# 首先确定我们所在的目录是前面指定web目录 cd /www # 更新软件仓库 apt update # 安装git apt install git # 从github拉去一份开源代码 git clone https://github.com/kotlindev/HTML-News-Page.git # 将源代码复制到web根目录 mv HTML-News-Page/* ./
好了,现在我们打开浏览器,就可以看到我们部署的HTML静态界面了
打开就可以看到了
记住要访问的是阿里云的公网实例,而不是用ifconfig显示的,那是私网的
关闭容器
参考: