Docker 打包镜像文件

说明

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

开始

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

docker  ps -a

查看如下:

[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        

提交版本:

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

格式如下:

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

开始:

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

内容如下:

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

使用如下命令查看镜像:

docker images

内容如下:

[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  要打镜像包的名称  镜像

演示:

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

内容如下:

[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     镜像名

导入之后查看

docker  images

选择此镜像启动就可以了
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

run 是开启
-d 是打入后台
-p 端口映射
:前的端口号不能被占用
--name 命个名字

说明

本文只做学习参考,如有任何不准确的地方欢迎指正。

我的邮箱:

  • lulongji2011@163.com
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容