Docker-镜像
2019-04-22 本文已影响0人
yuanzicheng
1.镜像是什么
简单来说,Docker镜像就是将环境依赖或者应用程序以Docker的规范和形式打包后的文件,可以用来作为模板创建、启动Docker容器。
2.生成镜像
2.1 通过docker commit命令从容器生成镜像
步骤:基于镜像创建容器 > 在容器中修改部分内容 > 使用docker commit生成新镜像
。
这种方式生成镜像,不利于维护,尤其是镜像分层越来越多时。一方面镜像分层数是有上限的(128);另一方面,底层镜像需要修改时,每一层都需要修改,特别麻烦。
2.2 通过Dockerfile生成镜像(推荐)
Docker使用了通过Dockerfile创建镜像的功能,其命令行语法为docker build
。
3.镜像相关命令
3.1 查看本地镜像
docker images
3.2 查找Docker仓库中的镜像
docker search IMAGE
3.3 从Docker仓库下载镜像
dokcer pull IMAGE
3.4 以镜像为模板创建并启动容器
docker run IMAGE
3.5 将容器提交为新镜像
docker commit [选项] CONTAINER_ID IMAGE
选项
-m "改动信息"
-a "作者相关信息"
3.6 向Docker仓库推送镜像
docker push IMAGE
3.7 删除指定名称镜像
docker rmi IMAGE
3.8 删除所有镜像
docker rmi -f $(docker images)
4.实例
通过MariaDB镜像创建并启动容器,同时指定容器名称(--name)、映射本地端口(-p)、配置环境变量(-e)、绑定数据卷(-v [host-dir]:[container-dir]:[rw|ro]),并且后台运行(-d)。
sudo docker run --name mariadb \
-v /data/mariadb/data:/var/lib/mysql \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD= \
-e MYSQL_ROOT_HOST=% \
-d mariadb:10.2