Docker常用软件安装与镜像发布
Docker安装MySQL
下面将使用Docker来安装Mysql,先搜索,然后拉取:
1docker pull mysql:5.7
1docker run -p 3306:3306--name mysql \
2-v /root/mysql/conf:/etc/mysql/conf.d \
3-v /root/mysql/logs:/logs \
4-v /root/mysql/data:/var/lib/mysql \
5-e MYSQL_ROOT_PASSWORD=123456 -d mysql
解决外部工具连接不上的问题
1ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
2
3Query OK, 0 rows affected (0.02 sec)
4
5FLUSH PRIVILEGES;
6
7Query OK, 0 rows affected (0.01 sec)
Docker安装MySQL需要注意的问题:
1、搜索时在 https://hub.docker.com/ 这个网站进行搜索,比如搜索MySQL
下面就有版本号,默认是最新的,也就是latest
2、这条命令的意思
1docker run -p 3306:3306--name mysql \
2-v /root/mysql/conf:/etc/mysql/conf.d \
3-v /root/mysql/logs:/logs \
4-v /root/mysql/data:/var/lib/mysql \
5-e MYSQL_ROOT_PASSWORD=123456 -d mysql
其实很近简单–restart=always是让容器在Docker服务启动后也跟随启动,我的Docker设置的是开机启动,所以开机后一旦Docker服务启动,mysql容器也会启动,通过-v命令添加了三个容器卷,分别是~/mysql/conf、~/mysql/logs、~/mysql/data ,这样的话我们在宿主机上就可以配置MySQL、查看log、以及备份数据!
Docker安装Tomcat
同样的安装Tomcat也是先查找,然后直接根据自己的版本号直接docker pull tomcat:标签
1docker run -it -p 8080:8080 --name tomcat \
2-v /root/tomcat/webapps:/usr/local/tomcat/webapps \
3-v /root/tomcat/logs:/usr/local/tomcat/logs \
4tomcat /bin/bash
这个Tomcat需要手动启动,所以使用 -it 模式进入bin目录start.sh才可以开启Tomcat,另外,如果像上面这个路径去添加容器卷的话,webapp和logs目录会清空,我是直接把webapps的东西copy进去就好了!
Docker安装Redis
同样的安装redis也是先查找,然后直接根据自己的版本号直接`docker pull redis:标签
1docker run -p 6379:6379
2-v /root/redis/data:/data \
3-v /root/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
4-d redis:3.2 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
在主机/root/redis/conf/redis.conf目录下新建redis.conf文件 vim /root/redis/conf/redis.conf/redis.conf
测试redis-cli连接和测试持久化文件生成
docker exec -it 容器编号 redis-cli
Docker镜像发布到阿里云
镜像的生成方法,编写DockerFile,这个在上一篇文章DockerFile已经说过了。或者从容器生成一个新的镜像:
1docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]
登录到阿里云的镜像服务: https://cr.console.aliyun.com/cn-hangzhou/instances/repositories
创建一个命名空间,创建本地仓库:
将镜像推送到阿里云,推送方式阿里云文档里面就有
按照提示操作,先登录
登录成功后,由于我之前没还没制作镜像,现在开始制作镜像并且推送镜像
出现下面这种,即说明推送完毕(其实这和Pull是一样的,镜像分层都是一层一层的结构)
在阿里云执行搜索,一定要是公有仓库才能搜到,下面看看我的Redis
这样就和那些mysql镜像一样了,可以直接下载,先删除本地的镜像,然后再拉取