1. docker启动mysql
1.拉取镜像
docker pull mysql:5.7
2.查看镜像
docker images
3.运行容器
docker run -d --name mysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7
4.进入容器
docker exec -it mysql /bin/bash
2. docker启动redis
1.拉取镜像
docker pull redis
2.查看镜像
docker images
3.运行容器
docker run -itd --name redis -p 6379:6379 redis
4.进入容器
docker exec -it redis /bin/bash
5.进入redis的方式
docker exec -ti d0b86 redis-cli
docker exec -ti d0b86 redis-cli -h localhost -p 6379
docker exec -ti d0b86 redis-cli -h 127.0.0.1 -p 6379
docker exec -ti d0b86 redis-cli -h 172.17.0.3 -p 6379
3. docker启动mongo
1.拉取镜像
docker pull mongo
2.查看镜像
docker images
3.运行容器
docker run -itd --name mongo -p 27017:27017 mongo --auth
--auth:需要密码才能访问容器服务。
4.创建帐号密码
$ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
5.连接mongo
可以使用robo3t,连接mongo了。
4. docker启动etcd
目录结构
/usr/local/docker/etcd
--/data
--docker-compose.yml
创建dokcer-compose.yml文件
version: '3'
networks:
myetcd_single:
services:
etcd:
image: quay.io/coreos/etcd
container_name: etcd_single
command: etcd -name etcd1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380
ports:
- 9000:2379
- 9010:2380
volumes:
- ./data:/etcd-data
networks:
- myetcd_single
etcdkeeper:
image: deltaprojects/etcdkeeper
container_name: etcdkeeper_single
ports:
- 8088:8080
networks:
- myetcd_single
启动
docker-compose up
#后台启动增加`-d`参数
docker-compose up -d
注意:要在docker-compose.yml所在的目录输入启动命令。
5. 踩坑记录
5.1 mysql配置文件不小心写错了,导致docker无法启动。
输入以下命令:
docker cp 你容器的ID:/etc/mysql/my.cnf /home/my.cnf
然后通过命令:
docker cp /home/my.cnf 你容器的ID:/etc/mysql/my.cnf
先将配置文件,移动到宿主机,修改完毕后,再移动回docker中。