阿里云服务器中Docker安装与镜像使用【MySQL、redis快速访问】

x33g5p2x  于2021-11-24 转载在 Docker  
字(3.6k)|赞(0)|评价(0)|浏览(845)

我是基于阿里云Linux内核CensOS8进行测试记录的。文章内容概况:

在Linux安装docker,之后在docker上拉取镜像(以MySQL为例),运行MySQL后在本地使用Navicat连接远程数据库。

一、Linux安装Docker

Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版。本教程基于CentOS8安装Docker CE。

1.CentOS

查看CentOS版本信息

  1. lsb_release -a

在 CentOS 8安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看

  1. uname -r

2.Docker安装

docker分为社区版和企业版,个人学习使用社区版即可。去到docker官方网站,找到开发者手册【https://docs.docker.com/get-started/overview/】。

照着官方教程开始操作:
sudo 的意思是使用超级用户。某些指令只是超级用户才有权执行。阿里云购买的服务器都会装好yum工具包,如果没有请务必安装yum工具包!

  1. # 1.Uninstall old versions
  2. sudo yum remove docker \
  3. docker-client \
  4. docker-client-latest \
  5. docker-common \
  6. docker-latest \
  7. docker-latest-logrotate \
  8. docker-logrotate \
  9. docker-engine
  10. # 2.Set up the repository
  11. sudo yum install -y yum-utils
  12. sudo yum-config-manager \
  13. --add-repo \
  14. https://download.docker.com/linux/centos/docker-ce.repo
  15. # 3.Install Docker Engine (docker-ce,docker-ce-cli and containerd.io) 一直点击y
  16. sudo yum install docker-ce docker-ce-cli containerd.io

到这里,docker就安装成功了。

二、启动Docker

  1. # 1.Start Docker
  2. sudo systemctl start docker
  3. # 2.查看docker版本
  4. dokcer version

测试Docker运行镜像服务

  1. # 1.hell-docker
  2. docker run hello-world

查看镜像

  1. # 1.View the Docker image
  2. sudo docker images
  3. # 2.Set to enable self-start
  4. sudo systemctl enable docker

三、配置Docker镜像加速

当所有的Docker依赖包都从 Docker hub 上下载时,网络肯定是一个不可避免的问题,而使用阿里云的docker镜像就解决这个问题。

点击去阿里云官网,找到 容器镜像服务 【很多的阿里云服务这里都有,如 网关、ECS、CDN 等等入口】。每个人的镜像加速地址可能不一样,使用自己的进行加速地址才是最有效的

之后找到 镜像工具-》镜像加速器,选择对应的操作系统,执行对应的命令【我的是CentOS 8.4】。以下指令正常执行无报错即拥有了阿里云docker镜像。

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } EOF
  3. sudo systemctl daemon-reload
  4. sudo systemctl restart docker

四、拉取与连接(MySQL)

请确保Docker容器是启动的。【拉取镜像标准步骤请移步:#】

在docker容器里面进行代码运行,可以使得我们极大的简化开发事物。下面以 拉取、启动、连接MySQL为例,从而熟悉所有的容器的使用

1.MySQL准备

Dokcer拉取和启动MySQL
需要实现文件挂载功能移步:【点击我查看MySQL文件挂载具体指令】

  1. # 1.Install mysql 5.7
  2. docker pull mysql:5.7
  3. # 2.Start mysql 5.7
  4. docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

对于上面 启动MySQL容器 的解释:

  1. # 将容器内部 3306 端口映射到 主机的 3306 端口,即通过 主机的 3306 可以访问容器的 3306 端口
  2. -p 3306:3306
  3. # 容器名为 mysql
  4. --name mysql
  5. # 设置登陆密码为 123456,登陆用户为 root
  6. -e MYSQL_ROOT_PASSWORD=12345
  7. # 编写配置中的密码
  8. -e MYSQL_ROOT_PASSWORD=123456
  9. # 以后台方式运行
  10. -d

进入MySQL容器镜像

  1. # 1.进入MySQL容器镜像
  2. docker exec it 容器id bash
  3. # 2.进入mysql命令行
  4. mysql -u root -p
  5. # enter password
  6. # 修改服务器数据后,本地navicat更新同步可查看

对与 容器id 这一项,需要使用以下指令查看:

  1. docker ps

MySQL创建新用户(密码:123456)>(不建议使用root用户开启远程连接)

  1. # 1.创建新用户
  2. create user 'pdh'@'%' identified by '123456';

如果创建的用户曾经存在过,得执行如下指令:

  1. # 1.删除之前的用户信息
  2. drop user 'user'@'%';
  3. # 2.刷新权限
  4. flush privileges

改端口和权限,查看用户信息

  1. # 1.修改密码和权限
  2. GRANT ALL PRIVILEGES ON *.* TO '用户名'@'ip' IDENTIFIED BY '密码' WITH GRANT OPTION;
  3. # 2.查看host和user (mysql库下)
  4. select host,user,authentication_string from user;

2.阿里云配置端口

阿里云的服务器默认端口是不对外开放的,如果想要供外部访问,需要在安全组中手动添加规则。所以我们需要手动在安全组中添加规则,具体操作步骤如下:
登录阿里云服务器并进入控制台,点击【云服务器ECS】-> 【配置安全组规则】

点击【配置规则】

点击【手动添加】

好了,此时服务器3306端口已经能够被外网访问到了,下面就开始连接~

3.Navicat连接

打开本地的Navicat或其他数据库连接器:

打开数据库一看,只有一个数据库可以访问

而且也不能执行创建数据库等操作,这是因为此账户没有权限的原因。

MySQL用户权限

  1. # 1.授权,把test库开放给pdh
  2. grant select,insert,update,delete,create on test.* to 'pdh';
  3. # 2.刷新权限
  4. flush privileges;

执行完上面的指令后,重新使用账户 pdh 连接,就会多出一个test库供使用。

五、Others拉取

查询获取镜像的常见方式如下:

  1. # 1.search redis
  2. docker search redis
  3. # 2.pull redis:latest
  4. docker pull redis:latest

下面就拉取redis,在进行简单连接操作。

1.redis

  1. # 1.pull redis
  2. docker pull redis:latest
  3. # 2.创建配置文件
  4. mkdir -p /mydata/redis/conf
  5. touch /mydata/redis/conf/redis.conf
  6. # 3.run redis
  7. docker run -d \
  8. -p 6379:6379 \
  9. --name redis1 \
  10. -v /mydata/redis/data:/data \
  11. -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
  12. redis:latest redis-server /etc/redis/redis.conf
  13. # 4.redis-cli连接redis
  14. docker exec -it redis1 redis-cli

把6379端口在阿里云安全配置组配置以后,就可以在本地连接此redis了!

添加redis持久化:

在文件 redis.conf 中添加:

  1. appendonly yes

保存退出,这就开启了redis的持久化机制。或者直接在run的时候添加 --appendonly yes 也能实现持久化。

具体的redis中进行哪些配置【点击我去到redis配置查看:https://redis.io/topics/config

相关文章

最新文章

更多