Mysql5.7
1. 创建容器并运行
$ docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- –name 对容器命名
- -d 后台运行
- -e 配置默认密码
- -p 进行端口映射,将宿主机3306端口映射进容器的3306端口
2. 解决网络问题
上一步运行的时候有可能会提醒IPv4转发被禁用,容器内网络没法使用
WARNING: IPv4 forwarding is disabled. Networking will not work.
解决方法
# vim /usr/lib/sysctl.d/00-system.conf
添加一行这个配置
net.ipv4.ip_forward=1
重启网络服务
# systemctl restart network
3. 开放外部访问权限
进入容器内
$ docker exec -it mysql:5.7 /bin/bash
在容器内登录mysql,在mysql客户端输入指令开放外部访问权限
$ mysql -uroot -p
MYSQL> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
MYSQL> flush privileges;
4. 设置默认编码
可使用mysql命令设置:
在上一步基础上
MYSQL> SET NAMES 'utf8';
然后退到容器中
service mysql restart
5. 数据卷相关后续再补充
Redis
$ docker run -d -p 6379:6379 --name redis redis
Nginx
$ docker run -d -p 80:80 --name nginx nginx
MongoDB
$PWD代表当前目录
$ docker run -p 27017:27017 --name mongo -d mongo
如果使用数据卷
$ docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo
Elasticsearch
es不能使用laster版本必须进行执行
可以访问 https://hub.docker.com/_/elasticsearch 获取最新tag
创建用户定义网络(用于连接其他需要在同一网络环境工作的软件,例如:Kibana)
$ docker network create esnet
运行 Elasticsearch:
$ docker run -d --name elasticsearch --net esnet -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.1
- 9200提供htpp访问,9300提供tcp访问
- –net后面跟上上面定义的网络名
使用浏览器访问 http://localhost:9200/ 即可
安装插件
进入容器
$ docker exec -it elasticsearch /bin/bash
进入bin目录 ,执行安装
cd bin
plugin install mobz/elasticsearch-head
这样,页面的操作会更人性化一些
Nacos
$ docker pull nacos/nacos-server
非集群环境启动
$ docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
登录网址,初始账号密码nacos/nacos
http://localhost:8848/nacos/index.html
Jenkins
安装镜像,启动容器
注意,docker的jenkins镜像仓库已经不维护了,jenkins官方在
jenkins/jenkins的仓库进行维护,我使用长期维护版本
如果jenkins数据默认存储在容器的/var/jenkins_home
中,包括所有数据,插件和配置信息,如果需要数据持久化,可以使用数据卷
$ docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
- -d 后台运行镜像
- -p 8080:8080 将镜像的8080端口映射到服务器的80端口
- -p 50000:50000 将镜像的50000端口映射到服务器的50000端口
- -v jenkins:/var/jenkins_home/var/jenkins_home目录为jenkins工作目录,
配置
因为配置了数据卷,所以在宿主机内数据卷查看默认密码
$ tail /var/lib/docker/volumes/jenkins_home/_data/secrets/initialAdminPassword
将里面的文字复制到网页上就可以下一步了
先选只安装推荐的插件,也就是第一个
安装完设置默认管理员账号