Dockerfile是构建镜像的文本文件,是由一系列命令和参数构成的脚本,脚本容包含了一条条构建镜像所需的指令和说明,Dockerfile就是创建一个镜像文件的过程。
命令 | 作用 | 实例 |
---|
FROM | 指定所需依赖的基础镜像 | FROM centos:7 |
MAINTAINER | 声明镜像创建者信息 | MAINTAINER CJ |
ENV | 设置环境变量 | ENV MYSQL_ROOT_PASSWORD root |
RUN | 在容器构建过程中执行的命令 | RUN curl http://wttr.in |
ADD | 拷贝文件或目录到容器内,如果是URL或压缩包,会自动下载或自动解压 | ADD my-app.jar /app.jar |
COPY | 和ADD相似,但是压缩包并不能自动解压 | |
EXPOSE | 声明需要暴露的端口,容器运行的服务端口 | EXPOSE 8080 |
WORKDIR | #指定工作目录,容器启动时,执行命令会在该目录下执行 | WORKDIR /usr |
CMD | 类似于 RUN 指令,CMD 在docker run 时执行。RUN 是在 docker build时执行 | CMD [“/bin/echo”, “hello world”] |
ENTRYPOINT | 指定容器启动时执行的命令 | ENTRYPOINT[“java”,“-jar”,“/app.jar”] |
1.创建目录
2.下载或上传JDK
下载JDK并上传,或使用wget命令下载JDK
3.创建文件Dockerfile vi Dockerfile
4.执行命令构建镜像
5.查看镜像是否建立完成
使用Dockerfile构建SpringBoot应用镜像
使用Dockerfile构建maven web应用镜像
Compose用于定义和运行多容器的工具。通过Compose,可以使用YML文件来配置应用程序需要的所有服务。然后使用一个命令,就可以从YML文件配置中创建并启动所有服务。
地址:
下载Compose
修改该文件的权限为可执行
查看安装是否成功
使用Docker Compose的步骤
命令 | 实例 | 描述 |
---|
image | image: mysql:5.7 | 运行的是mysql5.7的镜像 |
container_name | container_name: mysql | 配置容器名称 |
ports | ports: - 3306:3306 | 指定宿主机和容器的端口映射 |
volumes | volumes: - /usr/local/program/mysql/log:/var/log/mysql - /usr/local/program/mysql/data:/var/lib/mysql - /usr/local/program/mysql/conf:/etc/mysql | 将宿主机的文件或目录挂载到容器中 |
environment | environment: -MYSQL_ROOT_PASSWORD=root | 配置环境变量;设置mysqlroot帐号密码的环境变量 |
links | links: -mysql:linktest | 连接其他容器的服务;定义一个别名,从而使用该别名访问其它服务;以mysql或linktest为域名访问服务名称为mysql的容器 |
命令 | 描述 |
---|
docker-compose up -d | 构建、创建、启动相关容器;-d表示在后台运行 |
docker-compose stop | 停止所有相关容器 |
docker-compose ps | 列出所有容器信息 |
docker-compose logs | 查看服务日志输出 |
docker-compose build | 构建或者重新构建服务 |
docker-compose start db-service | 启动指定服务已存在的容器 |
docker-compose stop db-service | 停止已运行的服务的容器 |
docker-compose rm db-service | 删除指定服务的容器 |
docker-compose kill db-service | 发送 SIGKILL 信号来停止指定服务的容器 |
docker-compose run db-service bash | 在容器服务上执行一个命令 |
将docker-compose.yml上传到服务器,并在当前目录下运行如下命令:
使用Docker Compose搭建wordpress博客
启动