1. docker启动mysql

  1. 1.拉取镜像
  2. docker pull mysql:5.7
  3. 2.查看镜像
  4. docker images
  5. 3.运行容器
  6. docker run -d --name mysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7
  7. 4.进入容器
  8. 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中。

参考:
https://www.cnblogs.com/hickup089/articles/15724638.html