docker有多种镜像构建的方法,下面介绍常用的三种:
方法一:通过Dockerfile构建docker镜像:
- 编写 Dockerfile:
- 打开文件:vim Dockerfile
- 写入:from tutum/lamp,写入完成后退出vim编辑器并保存
- 构建lamp的Dockerfile:
- 查看镜像是否已经成功通过Dockerfile构建:
方法二:通过Docker-compose构建镜像:
Compose 是用于定义和运行多容器 Docker 应用程序的工具。
- 下载 docker-compose:
- sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 使用chmod给予执行权限:sudo chmod +x /usr/local/bin/docker-compose
- 检查docker-compose安装情况:/usr/local/bin/docker-compose --version
- 创建文件夹:mkdir lamp_compose_docker
- 使用vim编辑器修改docker-compose.yml文件:
- 打开文件并编辑vim docker-compose.yml
- 输入 : ,进入vim的命令行,输入set paste并回车,进入粘贴模式:
- 键入 i , 进入写入模式:
- 粘贴以下内容,粘贴完成后键入 :wq (保存并且退出):
version: '3'
services:
php:
hostname: lamp
build: ./lamp
ports:
- "80:80"
- "3306:3306"
volumes:
- ./wwwroot:/var/www/html
- ./mysql/data:/var/lib/mysql
- 创建lamp目录
- 往lamp/Dockerfile中写入以下内容(操作方法和第五步相同):
- 使用指令vim lamp/Dockerfile
- 写入内容:
FROM mattrayner/lamp
MAINTAINER liuym
RUN apt update && apt-get install -y php8.0-soap graphviz
- 使用docker-compose构建镜像: /usr/local/bin/docker-compose up -d
- 往 vim wwwroot/test.php里面写php信息显示代码:
<?php
phpinfo();
?>
- 自行检查docker的镜像有没有开启,然后在浏览器输入http://{ip(你的服务器ip)}/test.php 查看web应用是否已经开启 :
方法三:Docker commit自定义镜像构建:
- 在docker的容器交互式界面中,写入 ‘test’到test.txt文件:
- 查看该文件中的test是否成功写入:
- 退出容器的交互式界面,将容器生成新的镜像:
- 查看新镜像是否生成:
- 使用vim编写Dockerfile文件,并且保存:
- 使用build指令生成容器。docker build -t test_docker .
- 查看镜像,并且使用run的方式运行容器,同时进入交互式界面:
- 查看刚才修改的test文件,该镜像就是我们前面构建的镜像。
-
Docker交互式操作:
- 使用docker exec -it命令进入容器的交互式界面,查看容器内部进程