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 命个名字

说明

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

  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Docker打包制作镜像文件,你可以按照以下步骤进行操作: 1. 首先,你需要准备好所需的文件,包括字体、lib文件和openoffice安装包,以及Dockerfile文件。这些文件将在后续的步骤中使用。 2. 在Linux操作系统上安装Docker,并确保你的系统版本为CentOS 7,Docker的版本为19.03.12。 3. 创建一个新的文件夹,用于存放Dockerfile和其他所需文件。进入该文件夹。 4. 打开一个文本编辑器,创建一个名为Dockerfile的文件,并在其中编写Docker镜像的构建指令。你可以参考中提供的Dockerfile作为范例。在Dockerfile中,你可以指定需要安装的软件、复制文件到镜像中的特定目录,并设置相应的配置参数。 5. 保存并关闭Dockerfile文件。 6. 接下来,在终端中使用以下命令构建镜像: ``` docker build -t myUbuntu:v1.0 . ``` 这将使用Dockerfile中的指令和文件来构建一个名为myUbuntu:v1.0的镜像。注意,这里的`.`表示Dockerfile所在的当前目录。 7. 等待构建过程完成,这可能需要一些时间,取决于你的系统配置和镜像大小。 8. 完成后,你可以使用以下命令来查看已创建的镜像列表: ``` docker images ``` 通过按照上述步骤进行操作,你就可以成功地使用Docker打包制作镜像文件。记得根据你的具体需求和文件组织结构来调整Dockerfile中的指令。希望这能对你有所帮助! 参考资料: Docker打包制作rocketmq镜像(Dockerfile方式),提供所有需要的文件,包括字体、lib、openoffice安装包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值