一:docker安装
1、安装所需的软件包
sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
2、使用以下命令来设置稳定的存储库。
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
3、安装 DOCKER CE
sudo yum install docker-ce
4、启动docker
sudo systemctl start docker
5、安装国内镜像库
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://1e97c9c5.m.daocloud.io
重启docker
sudo systemctl restart docker
6、安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #下载安装
sudo chmod +x /usr/local/bin/docker-compose #修改权限
docker-compose --version #查看版本
二.docker安装mysql
1.搜索mysql镜像库
docker search mysql
2.获取镜像
docker pull xxx #xxx===>mysql的name mysql:5.7.20
注:如pull错版本可使用 docker image ls 查看已下载的镜像,再用 docker image rm xxx 移除该镜像
3.运行MySQL
docker run --name mysql_57 -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=12345 -d mysql:5.7.20
#--name 运行后的服务name
#-p 3306:3306 端口映射 本机端口3306:容器端口3306
#-e MYSQL\_ROOT\_PASSWORD=12345 用户名密码
#-d 表示使用守护进程运行,即服务挂在后台
注:如运行错mysql版本:
使用 docker ps -a 找出容器号,用 docker rm xxx(容器号) 删除该容器,再移除镜像
注:如镜像关闭,可用docker start xxx(镜像id) 启动该镜像
4.检验mysql是否安装成功
#进入docker容器中(因为在linux中无法看到docker容器中的服务,所以要先进入docker容器中)
docker exec -it mysql_57 env LANG=C.UTF-8 bash
#然后再登陆mysql
mysql -u root -p
安装后用MySQL连接工具可能连不上:(加密方式问题/未开启mysql远程服务)
select host,user,plugin,authentication_string from mysql.user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
三.安装mongo
1.docker search mongo
2.docker pull mongo:3.4.10
3.docker run --name mongo_34 -v/mnt/mongodb:/data/db -v /etc/localtime:/etc/localtime:ro -p 27017:27017 --restart=always -d mongo:3.4.10
4.进入docker容器 :docker exec -it mongo_3.4.10 env LANG=C.UTF-8 bash
进入mongo: mongo
5.创建用户:db.createUser({ user: 'root', pwd: '12345', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
6.开启验证:db.auth("root","12345");
四。安装nginx
1.docker search nginx
2.docker pull nginx
3.1docker run -p 80:80 --name my_nginx -v $PWD/www:/www -v $PWD/logs:/wwwlogs -d nginx
3.2 docker run -p 80:80 --name my_nginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/opt/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx
4.1当/opt/nginx中我nginx.conf时使用3.1中启动nginx镜像
4.2使用 docker exec -it my_nginx /bin/bash 进入nginx镜像, cd /etc/nginx 再ls 可以看到nginx.conf配置文件;exit退出后
用 docker cp my_nginx:/etc/nginx/nginx.conf $PWD/conf/nginx.conf 将nginx的配置copy到当前目录下的conf中
-
-p 80:80:将容器的80端口映射到主机的80端口
-
--name mynginx:将容器命名为mynginx
-
-v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www
-
-v $PWD/conf/nginx.conf:/opt/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/opt/nginx/nginx.conf(此时需要在/opt/nginx目录下由nginx.conf配置)
-
-v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs