首先我们先拉一个centos下来,再随便搭建点东西,作为我们的开发环境的容器
docker pull centos
启动一个centos容器
// --privileged=true :赋予真正的root权限
docker run -itd --privileged=true --name centos centos /usr/sbin/init
进入centos容器
docker exec -it centos /bin/bash
安装vim(新的centos镜像默认没有安装vim)
yum -y install vim*
安装wget
yum -y install wget
make命令
yum -y install gcc automake autoconf libtool make
解决service命令不可用
yum install initscripts -y
安装jdk
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
安装mysql
yum install mysql
yum install mysql-server
systemctl enable mysqld.service // 设置开机启动
systemctl start mysqld.service // 启动mysql服务
mysql -uroot -p // 登陆进控制台
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; // 初始化密码
flush privileges;
好了,退出这个容器
exit
去到 docker 官网注册登录,然后创建一个仓库
https://hub.docker.com/
然后填写仓库名字、描述、选择是public还是private 即可
登录你的docker
docker login
将容器变为镜像
// 找到运行中的容器 (复制你要打包的容器的id)
docker ps
// 打包为镜像 (86d78d59b104:容器的id 、 my_centos:我们要打包成的镜像的名字)
docker commit 86d78d59b104 my_centos
// 找到打包的镜像
docker images
将镜像打成标签
// my_centos:镜像的名字 、 liqiye:我们docker仓库的用户名 、 centos:我们刚才新建的仓库名 、 v1:版本号,可以不设置
docker tag my_centos liqiye/centos:v1
将标签上传镜像仓库
// liqiye/centos:v1 对应上面的
docker push liqiye/centos:v1
上传成功后可以在自己的 docker 仓库看到
下载自己的镜像
// 记得先登录
docker login
// 根据版本号拉取
docker pull liqiye/centos:v1
启动容器
// --restart=always 开机启动容器
docker run -itd --privileged=true --name centos --restart=always -p 3306:3306 centos /usr/sbin/init