基于【 Docker】四 || Docker常用镜像安装
一、nginx安装
1、拉取镜像:docker pull nginx
2、启动容器:docker run -d -p 80:80 nginx
3、查看nginx:ps aux | grep 'nginx'
4、访问nginx:curl 127.0.0.1
二、配置nginx.conf文件
1、通过在容器中配置
进入nginx容器中:
docker container exec -it f0b1c8ab3633 /bin/bash
退出:exit
配置文件位置:cd /etc/nginx/nginx.conf
vi nginx.conf会报错,因为是容器是轻量级的,默认不支持vi等插件,需要自己安装vi等插件(不建议在容器中修改配置文件)
2、通过挂载的方式:
容器挂载外部配置文件 ,命令 -v
使用挂载的方式,外部的配置文件覆盖内部容器配置文件
创建挂载目录(-p 递归创建):mkdir -p /data/nginx/{conf,conf.d,html,logs}
把nginx.conf文件上传到 conf目录下
docker run --name mynginx -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx
启动容器后,查看容器内配置文件,容器内配置文件已经和外部配置文件一致了
二、mysql安装
1、拉取镜像文件
docker pull mysql:5.7
2、创建一个容器
docker create --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7
3、启动容器
docker start mysql
4、进入到容器
docker exec -it mysql bash
5、连接mysql
mysql -uroot -p
6、配置文件位置
cd /etc/mysql/mysql.cnf
7、运行容器(完整)
docker run -p 3306:3306 --name mysql8 --restart always --privileged=true -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.18
8、my.cnf配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [client] default -character-set=utf8mb4 [mysql] default -character-set=utf8mb4 [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links= 0 max_connections= 10000 default -time_zone= '+8:00' character-set-client-handshake=FALSE character_set_server=utf8mb4 collation-server=utf8mb4_unicode_ci init_connect= 'SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci' # Custom config should go here !includedir /etc/mysql/conf.d/ |
三、redis安装
docker run -p 6379:6379 -v /data/redis:/data -d redis:3.2 redis-server --requirepass "root" --appendonly yes
四、mongodb安装
1、运行容器
1 | docker run -itd --name mongo -p 27017 : 27017 -v /docker/mongodb/data:/data/db mongo --auth |
2、进入容器,添加用户和密码
1 2 3 4 5 6 7 | docker exec -it mongo mongo admin # 创建一个名为 admin,密码为 admin 的用户 db.createUser({ user: 'admin' ,pwd: 'admin' ,roles:[ { role: 'userAdminAnyDatabase' , db: 'admin' }]}); # 尝试使用上面创建的用户信息进行连接 db.auth( 'admin' , 'admin' )<br><br># 退出<br>exit; |
3、管理员已经创建成功后,我们需要重新连接mongo数据库,用管理员进行登录,并为目标数据库创建目标用户,先退出容器,从新进入容器
1 | docker exec -it mongo mongo admin# 授权admin登录db.auth( "admin" , "admin" ); |
4、创建访问指定数据库的用户
假设我们为 theme_commons 库创建一个用户,用户名为 kevin,密码为 kevin
1 2 3 | use theme_commons; db.createUser({ user: 'kevin' , pwd: 'kevin' , roles: [ {role: "readWrite" ,db: "theme_commons" }]});db.auth( "kevin" , "kevin" );# 创建成功并退出exit; |
联系作者:QQ群【883210148】,关注公众号【互联网专栏】获取更多资源
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步