是什么?

dockerfile 是用来构建docker镜像的文件,命令参数脚本!

构建步骤:

1、 编写一个dockerfile文件

2、 docker build 构建称为一个镜像

3、 docker run运行镜像

DockerFile常用指令
语法:
1、每个保留关键字(指令)都是必须是大写字母

2、执行从上到下顺序

3、#表示注释

4、每一个指令都会创建提交一个新的镜像层,并提交!

FROM # 基础镜像
MAINTAINER # 镜像是谁写的, 姓名+邮箱
RUN # 镜像构建的时候需要运行的命令
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被覆盖。
ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令
COPY # 只将宿主机文件拷贝到镜像中
ADD # 拷贝加解压缩
WORKDIR # 镜像的工作目录(刚进入容器,进入的目录)
VOLUME # 挂载的目录
EXPOSE # 暴露端口配置(对外发布的端口)
ONBUILD # 当构建一个被继承 DockerFile 这个时候就会运行ONBUILD的指令,触发指令。
ENV # 构建的时候设置环境变量(定义一个变量,在后面可以多次复用)


docker应用部署

步骤:以mysql为例

1、 搜索mysql镜像

精讲docker应用部署mysql及dockerfile编写_docker


2、 拉取mysql镜像(选择合适的版本)

docker pull mysql:5.6

3、 创建容器

docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6

4、 操作容器中的mysql

1)进入容器

docker exec -it c_mysql bash

容器中操作:

root@9daaf1ed8b32:/# mysql -uroot -p123456

mysql> create database db1;

2)在Windows11使用Navicat登录查看刚创建的数据库,并进行操作

精讲docker应用部署mysql及dockerfile编写_云计算_02


创建一个表

精讲docker应用部署mysql及dockerfile编写_mysql_03

3)在服务器本地容器内查看,由于有中文,不支持中文字符集,有乱码,实验是成功的

精讲docker应用部署mysql及dockerfile编写_docker_04