使用Dockerfile制作镜像、创建容器

开始吧

本篇内容主要用以记录学习实践的过程,并可能为有相关需要的小伙伴提供一些参考。
本次制作的镜像基于docker官方镜像php:7.2-apache。

一、创建文件名为Dockerfile的文件

在项目目录(选择已有的目录或新建目录)下创建文件名为Dockerfile的文件(注意大小写),并编写如下内容:

	FROM php:7.2-apache
    COPY "$PWD/" /var/www/html/
    EXPOSE 80
对上述命令拆分解释:
FROM php:7.2-apache:
	php:7.2-apache为官方的 php image
	冒号表示标签,这里标签是7.2-apache,即7.2版本的 php,并自带Apache

COPY "$PWD/" /var/www/html/:
	将当前目录($PWD)下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/var/www/html/目录;
	其中/var/www/html/为apache的默认站点目录;
	$PWD为当前目录;

EXPOSE 80:将容器 80 端口暴露出来,允许外部连接这个端口

二、进入Dockerfile文件所在的目录 & 创建镜像

进入Dockerfile文件所在的目录(windows系统使用cmd或PowerShell进入该目录),执行如下命令:

创建镜像

docker build -t ImageName .
对上述命令拆分解释:
docker build:用于使用 Dockerfile 创建镜像;
-t:镜像的名字及标签,通常 name:tag 或者 name 格式;
ImageName:镜像名称,请自定义该名称;
.:最后面这个点千万别丢了;

三、创建容器

查看所有镜像

docker images

创建容器

docker run -d -p 81:80 -v 本地项目文件夹:/var/www/html/ --name ContainerName ImageName
对上述命令拆分解释:
docker run:创建一个新的容器并运行一个命令;
-d: 后台运行容器,并返回容器ID;
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口;
-v: 绑定一个目到容器目录,格式为:主机(宿主)目录:容器目录;该命令使自己的本地的目录映射到容器的启动目录,以本地文件的更改实时更新到容器的效果;
--name:为容器指定一个名称(ContainerName);
ImageName:镜像名称(第2步创建的镜像);

四、查看容器列表

docker ps -a
容器列表表头如下,其中CONTAINER ID就是容器ID,NAMES为容器名称:
CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS   PORTS   NAMES 

示例

五、启动容器

docker start 容器ID

六、进入容器

docker exec -it 容器名称/容器ID /bin/bash
对上述命令拆分解释:
docker exec:在运行的容器中执行命令;
-d :分离模式: 在后台运行;
-i :即使没有附加也保持STDIN 打开;
-t :分配一个伪终端;
容器名称/容器ID:此处可以使用容器名称或容器ID;
/bin/bash:在容器中开启一个交互模式的终端;

七、使用IP:PORT访问容器

在项目根目录下创建index.php,并编写如下内容:

<?php
	phpinfo();

访问容器的web服务

http://127.0.0.1:81/

End !

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值