Docker-创建一个mysql容器,并保存为本地镜像

查找docker hub上的镜像

[root@wls12c ~]$ docker search mysql
NAME                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                    MySQL is a widely used, open-source relati...   2903      [OK]       
mysql/mysql-server       Optimized MySQL Server Docker images. Crea...   190                  [OK]
centurylink/mysql        Image containing mysql. Optimized to be li...   46                   [OK]

 

下载镜像到本地

[root@wls12c ~]$ docker pull mysql

默认下载的是docker官方维护的,也就是search到的第一个。

 

创建容器

[root@wls12c ~]$ docker run --name mysqldb -e MYSQL_ROOT_PASSWORD=root -d mysql

-e,指定环境变量。

 

得到mysql镜像的IP

[root@wls12c ~]$ docker inspect mysqldb|grep IPAddress
     "IPAddress": "172.17.0.4",
        "SecondaryIPAddresses": null

 

连接mysql

[root@wls12c ~]$ mysql -h 172.17.0.4 -u root -p

密码为上面指定的root

 

将初始化好的mysql保存为镜像

[root@wls12c ~]$ docker commit mysqldb mysql:1.0
3ed4a367c21eb509f1c4e0a772c3e5bdff678497be55700ea256ef34ad87cfc6
[root@wls12c ~]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
mysql               1.0                 3ed4a367c21e        3 seconds ago       384.6 MB
mysql               latest              826df4733292        37 hours ago        384.5 MB
centos              latest              d83a55af4e75        3 weeks ago         196.7 MB
cirros              latest              d8ca8144dee3        7 months ago        7.735 MB

 

Docker可以按照以下步骤将配置好的MySQL容器转换成镜像并持久化: 1. **停止并创建镜像**: 首先,确保MySQL容器处于停止状态,然后可以使用`docker commit`命令将其转换为镜像。假设容器ID是`my_mysql_container`,你可以这样做: ``` docker stop my_mysql_container docker commit -m "MySQL with custom config" my_mysql_container my_custom_mysql_image ``` 这里`my_custom_mysql_image`是你自定义的镜像名称。 2. **查看或下载镜像**: 如果你想查看镜像详细信息或分享给其他人,可以使用`docker images`命令,如果想下载到本地,可以使用`docker save`: ``` docker images | grep my_custom_mysql_image docker save -o my_mysql_image.tar my_custom_mysql_image ``` 3. **删除容器**: 删除容器可以用`docker rm`命令,例如: ``` docker rm my_mysql_container ``` 4. **从镜像启动新的容器**: 要恢复MySQL服务,你可以使用`docker run`命令从刚才保存镜像启动新容器: ``` docker run -d --name new_mysql_container -p <host_port>:<container_port> -v <data_volume_path>:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=<password> my_custom_mysql_image ``` `-d`表示后台运行,`-p`用于端口映射,`-v`挂载数据卷存储数据,`MYSQL_ROOT_PASSWORD`设置root用户的密码。 **注意事项**: - `<host_port>` 和 `<container_port>` 分别是主机端口和容器内部使用的端口; - `<data_volume_path>`是你想要存放数据的路径,这样数据会持久化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值