Docker 笔记

安装Docker

卸载docker(可选)

没安装过可跳过步

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

下载安装工具

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

创建阿里镜像

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker-ce社区版

sudo yum -y install docker-ce

查看是否安装完成

docker -v

常用命令

systemctl start docker	// 启动docker
systemctl restart docker	// 重启docker
systemctl stop docker	// 关闭docker

docker images		// 列出镜像
docker pull xx      // 下载镜像
docker rmi xx       // 删除镜像

docker ps			// 列出容器
docker exec -it xx bash  // 进入容器
docker run --name xx -p xx:xx -d nginx       // 第一次运行容器
docker start xx		// 启动已经设置好的容器
docker restart xx   // 重启容器
docker stop xx      // 停止容器
docker rm xx        // 删除容器
docker rename 原名 改后名  // 更改容器别名


docker run --name blog-springboot -v /home/blog-MoYu/upload:/usr/local/upload -d -p 8080:8080 blog-springboot:latest

docker run --name nginx --restart=always -p 80:80 -p 443:443 -d -v /home/blog-MoYu/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/blog-MoYu/vue:/home/blog-MoYu/vue -v /home/blog-MoYu/nginx:/home/blog-MoYu/nginx -v /home/blog-MoYu/upload:/home/blog-MoYu/upload nginx 

安装mysql5.7

安装镜像

拉取镜像

docker pull mysql:5.7

查看镜像

docker images

创建容器

创建本机文件目录,启动时挂载到docker对应目录

mkdir -p /home/dockerdata/mysql/conf
mkdir -p /home/dockerdata/mysql/logs
mkdir -p /home/dockerdata/mysql/data

// 创建配置文件my.cnf
cd /home/dockerdata/mysql/conf/
touch my.cnf

运行容器

docker run -p 对外端口:3306 --name mysql -v /home/dockerdata/mysql/conf:/etc/mysql/conf.d -v /home/dockerdata/mysql/logs:/logs -v /home/dockerdata/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=数据库密码 -d mysql:5.7

开放服务器对外端口

比如说我上面设置的mysql的对外端口是xx,这里需要自己设置,最好不要用3306,容易被黑掉

完成以上操作,就能在本机连接上服务器的mysql

安装mysql8

参考教程:https://www.cnblogs.com/chenxingyang/p/15780184.html

启动命令

docker run \
    -p 对外端口:3306 \
    -e MYSQL_ROOT_PASSWORD=登录密码 \
    -v /home/dockerdata/mysql8/data:/var/lib/mysql:rw \
    -v /home/dockerdata/mysql8/log:/var/log/mysql:rw \
    -v /home/dockerdata/mysql8/conf/my.cnf:/etc/mysql/my.cnf:rw \
    -v /etc/localtime:/etc/localtime:ro \
    --name mysql8 \
    --restart=always \
    -d mysql:8.0.29

安装redis

参考链接:https://cloud.tencent.com/developer/article/1997596

启动命令

docker run --name redis \
-p 6379:6379 \
-v /home/dockerdata/redis/redis.conf:/etc/redis/redis.conf \
-v /home/dockerdata/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes

其他

使用以下命令配置访问权限

参考教程:https://cloud.tencent.com/developer/article/1944568

#进入容器
docker exec -it [CONTAINER ID] bash

#登录mysql
mysql -u root -p

查看用户权限
select user, host from user;

从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

只允许用户root从ip为192.168.x.x的主机连接到mysql服务器,并使用password作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.x.x' IDENTIFIED BY 'password';

刷新权限
flush privileges;
posted @ 2024-03-13 17:51  Liu-RC  阅读(8)  评论(0)    收藏  举报