1.docker国内加速镜像
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 七牛云加速器:https://reg-mirror.qiniu.com
2.Docker 安装 Nginx
这里我们拉取官方的最新版本的镜像:
docker pull nginx:latest
拉取镜像后,使用以下命令来运行 Nginx容器:
docker run -d --name nginx -p 8080:80 nginx --restart=always
3.Docker 安装 MySQL
这里我们拉取官方的最新版本的镜像:
docker pull mysql:latest
拉取镜像后,使用以下命令来运行 MySQL容器:
docker run -itd --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
4.Docker 安装 Redis
这里我们拉取官方的最新版本的镜像:
docker pull redis:latest
拉取镜像后,使用以下命令来运行 Redis容器:
docker run -itd --restart=always --name redis -p 6379:6379 redis
5.Docker 安装 PostgreSQL
这里我们拉取官方的最新版本的镜像:
docker pull postgres:latest
拉取指定版本(以10为例)的镜像:
docker pull postgres:10
拉取镜像后,使用以下命令来运行 PostgreSQL容器:
docker run -itd --restart=always --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -v /data/postgresql:/var/lib/postgresql/data postgres
-v /data/postgresql:/var/lib/postgresql/data 将运行镜像的/var/lib/postgresql/data目录挂载到宿主机/data/postgresql目录
命令最后postgres是指要启动的镜像名称,还需要跟上版本号(镜像的tag),如果没有默认最新latest
启动指定版本镜像命令:
docker run -itd --restart=always --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -v /data/postgresql:/var/lib/postgresql/data postgres:10
6.Docker 安装 Mino
无官网镜像,所以通过搜索命令查询镜像
docker search minio
这里我们拉取,搜索列表的其中之一的镜像:
docker pull minio/minio
拉取镜像后,使用以下命令来运行 PostgreSQL容器:
docker run -itd --restart=always --name minio -p 9000:9000 -e "MINIO_ACCESS_KEY=minioadmin" -e "MINIO_SECRET_KEY=minioadmin" -v /home/data:/data minio/minio server /data
7.Docker 安装 MongoDB
这里我们拉取官方的最新版本的镜像:
docker pull mongo:latest
拉取镜像后,使用以下命令来运行 MongoDB容器:
docker run -itd --name mongo -p 27017:27017 mongo --auth
- -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
- --auth:需要密码才能访问容器服务。
接着使用以下命令添加用户和设置密码,并且尝试连接。
$ docker exec -it mongo mongo admin # 创建一个名为 admin,密码为 123456 的用户。 > db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]}); # 尝试使用上面创建的用户信息进行连接。 > db.auth('admin', '123456')
命令示意
-itd ##-i -t -d 的简写方式
-i ##以交互模式运行容器,通常与 -t 同时使用
-t ##为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d ##后台运行容器,并返回容器ID
--restart=always ##docker启动时,自运行
--name minio ## 容器名称
-p 9000:9000 ## 映射端口
-e MINIO_ACCESS_KEY=minioadmin ##账号
-e MINIO_SECRET_KEY=minioadmin ##密码,不得低于8位
-v /mnt/data:/data minio/minio server /data ##数据挂载位置