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;

浙公网安备 33010602011771号