docker打包镜像实战

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: docker打包镜像实战

说明

Linux 使用中间件的时候每次都需要安装配置,如果打成Docker镜像的方式会非常方便,省却了我们很多初始化配置的时间,废话不多说,我们开始吧!


开始

首先查看当前容器已经安装了的所有镜像:


docker  ps -a

1

查看如下:


[root@192.168.180.218 docker]# docker ps -a

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                                                                          NAMES

e70c3c58acca        mysql:5.7                    "docker-entrypoint.s…"   19 hours ago        Up 19 hours         0.0.0.0:3306->3306/tcp, 33060/tcp                                                                              mysql

63f558bbd445        zookeeper:latest             "/docker-entrypoint.…"   19 hours ago        Up 19 hours         2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:4180->2181/tcp                                                           zookeeper01

78a3d33d8beb        redis                        "docker-entrypoint.s…"   19 hours ago        Up 19 hours         0.0.0.0:6379->6379/tcp                                                                                         redis

ce474def30d3        morunchang/fastdfs           "sh ./storage.sh"        19 hours ago        Up 19 hours         0.0.0.0:9888->9888/tcp, 0.0.0.0:22122->22122/tcp                                                               storage

5296fa7df33d        rabbitmq                     "docker-entrypoint.s…"   19 hours ago        Up 19 hours         0.0.0.0:4369->4369/tcp, 0.0.0.0:5671-5672->5671-5672/tcp, 0.0.0.0:15672->15672/tcp, 0.0.0.0:25672->25672/tcp   rabbitmq

d5dcff5b3dfa        longhronshens/mycat-docker   "/bin/sh -c '/usr/lo…"   19 hours ago        Up 19 hours         0.0.0.0:8066->8066/tcp, 0.0.0.0:9066->9066/tcp                                                                 mycat

7deb7549689e        morunchang/fastdfs           "sh ./tracker.sh"        19 hours ago        Up 19 hours                                                                                                                        tracker

canginx                        "nginx -g 'daemon of…"   20 hours ago        Up 20 hours         0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcpde869d6704        


10

提交版本:


commit参数保存镜像, -a 提交人 -m "提交内容"


格式如下:


docker  commit  -a  -m  现有容器ID     保存的名称

1

开始:


docker commit -a "lulj"   -m  "mysql5.7"   e70c3c58acca    mysql5.7

1

内容如下:


[root@192.168.180.218 docker]#   docker commit -a "lulj"   -m  "mysql5.7"   e70c3c58acca    mysql5.7

sha256:ff320fb8d4db32f9393161acea1017909359b4180f9dc03c0c5b1b46a9cca441

1

2

使用如下命令查看镜像:


docker images

1

内容如下:


[root@192.168.180.218 docker]#  docker images

REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE

mysql5.7                     latest              ff320fb8d4db        57 seconds ago      456MB

rabbitmq                     latest              cf7986a5b16f        5 days ago          154MB

zookeeper                    latest              b6f6e4bc7eef        2 weeks ago         252MB

redis                        latest              4cdbec704e47        2 weeks ago         98.2MB

nginx                        latest              ed21b7a8aee9        2 weeks ago         127MB

mysql                        5.7                 413be204e9c3        2 weeks ago         456MB

longhronshens/mycat-docker   latest              f9a4ece7c742        2 years ago         793MB

morunchang/fastdfs           l


说明:


第一个mysql5.7就是我们刚刚打好的镜像包.


打包

我们要把镜像打成tar包,供别人使用。


命令格式:


docker save -o  要打镜像包的名称  镜像

1

演示:


docker save -o  mysql5.7.tar.gz  mysql5.7

1

内容如下:


[root@192.168.180.218 docker]#   docker save -o  mysql5.7.tar.gz  mysql5.7

[root@192.168.180.218 docker]# ll

总用量 450100

-rw-r--r-- 1 root    root      3645 4月  15 19:07 docker-compose.yml

drwxr-xr-x 4 root    root      4096 4月  15 19:07 fastdfs

drwxr-xr-x 4 root    root      4096 4月  15 19:07 mycat

drwxr-xr-x 4 root    root      4096 4月  15 19:07 mysql

-rw------- 1 root    root 460868608 4月  16 17:05 mysql5.7.tar.gz

drwxr-xr-x 8 root    root      4096 4月  15 19:07 nginx

drwxr-xr-x 5 polkitd root      4096 4月  15 19:50 rabbitmq

drwxr-xr-x 4 root    root      4096 4月  15 19:50 redis

drwxr-xr-x 5 root    root      4096 4月  15 19:07 zookeeper        a729ac95698a        3 years ago         460MB


至此打包完成。


使用

当我们在别的机器上使用的时候,命令格式:


docker load -i     镜像名

1

导入之后查看


docker  images

1

选择此镜像启动就可以了


 docker run -p 3306:3306 --name mysql5.7  -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql5.7

1

run 是开启

-d 是打入后台

-p 端口映射

:前的端口号不能被占用

–name 命个名字


相关文章
|
1月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
273 100
|
1月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
232 99
|
1月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
214 98
|
1月前
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
25天前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
17天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
166 6
|
1月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
97 8
|
2月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
193 16
|
2月前
|
运维 关系型数据库 数据库
应用官方 Docker 镜像已成熟,团队为何转向 Websoft9 而不再依赖 Bitnami
随着云原生发展,部署工具从 Bitnami 转向 Websoft9。后者基于官方镜像,提供多应用编排与统一运维,提升部署效率与维护能力,适合多系统协同场景。
应用官方 Docker 镜像已成熟,团队为何转向 Websoft9 而不再依赖 Bitnami
|
2月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。