说明
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