MySQL
docker pull mysql:5.7.26
# 启动容器,建议在/usr/local/workspace/mysql下执行以下docker run命令
docker run -p 13306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
# 建议写死路径
docker run -p 13306:3306 --name mysql-z -v /usr/local/workspace/mysql/conf:/etc/mysql -v /usr/local/workspace/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
命令
说明
-p 13306:3306
将容器的3306覆盖映射到主机的3306覆盖
–name my-mysql
启动后容器称为my-mysql
-v $ PWD / conf:/ etc / mysql
将主机当前目录下的conf /挂载到容器的/ etc / mysql(conf目录为mysql的配置文件,不挂载也没问题)
-v $ PWD / logs:/ logs
将主机当前目录下的日志目录挂载到容器的/ logs(logs目录为mysql的日志目录,不挂载也没影响)
-v $ PWD / data:/ var / lib / mysql
将主机当前目录下的数据目录挂载到容器的/ var / lib / mysql(数据目录为mysql配置的数据文件存放路径,这个还是建议挂载,是存储数据的,容器down掉,还能再次挂载数据。)
-e MYSQL_ROOT_PASSWORD = 123456
初始化root用户的密码
查看容器启动情况
docekr ps
设置可以远程登录MySQL
use mysql;
select host,user from user;
-- 设置root用户在任何地方进行远程登录,并具有所有库任何操作权限
-- 公司绝对不能这样做,暴露的攻击面太大,这里只是做测试。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出mysql
exit
访问MySQL
使用主机机IP:13306
,访问MySQL数据库
Nginx
docker pull nginx:1.16.0
docker run --name nginx-z -p 8088:80 -d nginx:1.16.0
安装DockerNginx:docker pull nginx
启动测试:docker run --name nginx-z-1 -p 8001:80 -d nginx
修改nginx配置,把docker里面的nginx相关配置指向方便修改的目录
# 创建目录(自行创建详细目录)
mkdir -p /usr/local/docker_nginx/www/html /usr/local/docker_nginx/logs /usr/local/docker_nginx/conf
# 复制docker里面的nginx配置到以上目录
# 执行docker ps,然后复制containerId,并执行复制nginx.conf
sudo docker cp d59b0e4fe154:/etc/nginx/nginx.conf /usr/local/docker_nginx/conf
关闭并移除之前的nginx容器
# 查看所有的容器编号
docker ps -l
# 移除容器
docker rm <container ID>
# 停止容器
docker container stop <container ID>
正式启动nginx容器
# sudo docker run -d -p 8081:80 --name nginx-docker-web -v /usr/local/docker_nginx/www/html:/usr/share/nginx/html -v /usr/local/docker_nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker_nginx/logs:/var/log/nginx nginx
在/usr/local/docker_nginx/www/html目录下,创建index.html,然后直接访问即可
# http://xxxxxx:8081/index.html
命令
说明
–name
后面设置容器名称,这里设置的容器名为 my-nginx
-p
端口进行映射,将本地宿主机 8088 端口映射到容器内部的 80 端口
-d
设置容器在后台运行
Redis
docker pull redis:4.0
docker run --name redis-z -p 16379:6379 -v /usr/local/workspace/redis/data:/data -d redis:4.0 redis-server --appendonly yes
cd /usr/local/bin/
./redis-cli
命令
说明
–name my-redis
启动后容器名为 my-redis
-p 16379:3306
将容器的 3306 端口映射到主机的 16379 端口
-v /usr/local/workspace/redis/data:/data
将主机 /usr/local/workspace/redis/data 目录挂载到容器的 /data
redis-server --appendonly yes
在容器执行redis-server启动命令,并打开redis持久化配置
参考:https://www.cnblogs.com/haoprogrammer/p/11008786.html
评论区