docker从零开始入门(四)Docker安装nginx和MySQL和redis

99 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

docker安装nginx

docker pull nginx
使用以下命令来查看是否已安装了 nginx:
docker images
运行容器
docker run -d --name nginx-test -p 80:80 nginx

参数说明:

--name nginx-test:容器名称。

-p 80:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。

-d nginx: 设置容器在在后台一直运行。

安装成功 最后我们可以通过浏览器可以直接访问 80 端口的 nginx 服务

image.png

由于docker进行了精简,所以我们在里面配置很不方便,所以我们在外部使用数据卷的方式进行使用

mkdir -p /usr/local/docker/nginx //创建指定目录配置
[root@VM-12-14-centos ~]# cd /usr/local/docker/nginx/
[root@VM-12-14-centos nginx]# mkdir conf
[root@VM-12-14-centos nginx]# mkdir html
[root@VM-12-14-centos nginx]# mkdir logs
将docker内部的文件拷贝到外部
docker cp nginx-test:/etc/nginx/nginx.conf  /usr/local/docker/nginx/conf
docker cp nginx-test:/etc/nginx/conf.d/  /usr/local/docker/nginx/conf
数据卷的方式运行
docker run -d --name nginx-test -p 80:80 -v /usr/local/docker/nginx/html/:/usr/share/nginx/html -v /usr/local/docker/nginx/conf/conf.d/:/etc/nginx/conf.d/ -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx
我们进行修改
cd html/
vim index.html

image.png

image.png

image.png

当我们修改nginx配置文件以后,使用docker restart nginx-test

Docker安装MySQL

安装MySQL 5.* 版本

docker pull mysql:5.6
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' mysql:5.6
 MYSQL_ROOT_PASSWORD设置密码
 进入mysql
 docker exec -it mysql bash
 mysql -uroot -p
 然后输入你设置的密码,我这边的就是root
 然后设置远程连接,注意里面IDENTIFIED BY 'root'这里面的root是我设置的密码,要修改成自己设置的密码
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
 刷新权限
  FLUSH PRIVILEGES;

image.png 然后使用数据库连接工具就行

注意:如果使用的阿里云或者腾讯云服务器,防火墙默认是关闭的,需要手动开启,需要在安全组里面放行,不然会导致连接不成功

安装MySQL 8.* 版本

docker pull mysql
运行容器
docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root  mysql
#进入容器
docker exec -it mysql8 bash
#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
​

参数说明:

  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=root:设置 MySQL 服务 root 用户的密码。

Docker 安装Redis

docker pull redis
docker run --rm -d --name redis6379 -p 6379:6379 redis --requirepass "root"
--requirepass设置密码
docker exec -it redis6379 bash //进入redis命令
redis-cli //开启客户端功能

image.png