欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 安装docker,在docker上安装mysql,docker上安装nginx

安装docker,在docker上安装mysql,docker上安装nginx

2025/4/28 5:59:27 来源:https://blog.csdn.net/2201_75442471/article/details/147544138  浏览:    关键词:安装docker,在docker上安装mysql,docker上安装nginx

目录

一.安装docker

1.1查看Linux版本的命令这里推荐两种:

1.2查看内核版本有三种方式:

2.安装

2.1 如果之前安装了docker,先删除旧版本的doker

2.2 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖

2.3 设置yum源

2.4 安装docker

2.5 docker启动并设置开机自启

2.6 验证docker是否安装成功

二 dockers安装mysql

1 拉取mysql镜像

1.1 拉取提示超时,根据下面的博客解决

2 查看镜像是否拉取成功

3 运行mysql镜像,启动实例/容器

 解读:

3.1 docker启动mysql失败

4 连接mysql

 4.1 navicat连接mysql失败

5 进入容器

6 查看mysql容器的详情

三、docker安装nginx

1 拉取nginx镜像

2 创建并运行nginx容器

三 通用指令

1 将镜像保存为文件,让别人也能使用这个镜像,以nginx为例

2  启动docker容器 docker start 容器名

 3 关闭docker容器

 4 删除容器,需要先停止容器

5 删除镜像

6 查看镜像

7 查看容器

一.安装docker

1、Docker及系统版本 Docker从17.03版本之后分为CE(Community Edition: 社区版)和EE(Enterprise Edition: 企业版)。相对于社区版本,企业版本强调安全性,但需付费使用。这里我们使用社区版本即可。

Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。

1.1查看Linux版本的命令这里推荐两种:

lsb_release -a或cat /etc/redhat-release。

1.2查看内核版本有三种方式:

cat /proc/version
uname -a
uname -r

2.安装

2.1 如果之前安装了docker,先删除旧版本的doker

`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`

2.2 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖

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

2.3 设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果出现下载缓慢,或者如下图的报错,可以切换成国内的镜像源,如阿里云

下载阿里云的docker镜像仓库文件

curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.4 安装docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

2.5 docker启动并设置开机自启

sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker

2.6 验证docker是否安装成功

docker --version

二 dockers安装mysql

1 拉取mysql镜像

sudo docker pull mysql:5.7

1.1 拉取提示超时,根据下面的博客解决

解决连接超时问题

2 查看镜像是否拉取成功

sudo docker images

3 运行mysql镜像,启动实例/容器

sudo docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-d mysql:5.7 \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql

 解读:

  • mysql/log: 存储MySQL日志

  • mysql/data: 是数据库文件(库表数据存放处)存放的地方。必须要挂载到容器外,否则容器重启一切数据消失。

  • mysql/conf: mysql配置,mysql启动时读取配置

  • 设置端口映射:外部访问宿主机的端口3306,会将这个请求交给容器的3306端口处理,即可以让外部访问到容器

镜像名称组成: 镜像名:镜像的版本。如果没有指定版本,默认是latest,代表最新的版本镜像

查看docker启动的容器执行情况(up状态就是启动成功)

# 查看启动的容器进程
sudo docker ps
# 查看所有的容器
sudo docker ps -a

可以看到容器的状态是启动(up),创建时间33分钟前,容器名称mysql,linux的3306端口映射到了mysql的3306端口,所以之后连接linux的3306,相当于操作到了docker容器的mysql监听的3306端口

3.1 docker启动mysql失败

  docker启动mysql失败

4 连接mysql

linux启动linux安装的mysql,使用

mysql -uroot -p

 4.1 navicat连接mysql失败

   navicat连接mysql失败

linux启动docker安装的mysql,使用

mysql -h 127.0.0.1 -P 3306 -u root -p

5 进入容器

mysql容器名

docker exec -it mysql /bin/bash

6 查看mysql容器的详情

docker inspect mysql

三、docker安装nginx

1 拉取nginx镜像

docker pull nginx:1.20.2

2 创建并运行nginx容器

docker run -d --name nginx -p 80:80 nginx:1.20.2
  • -d:后台运行容器。

  • -p 80:80:将容器的80端口映射到宿主机的80端口。

  • --name nginx:为容器指定一个名称,这里是nginx

  • nginx:1.20.2:指定拉取的Nginx镜像,如果在本地已经存在,就直接使用,如果不存在,就去镜像仓库拉取

出现下面的图片就是成功

三 通用指令

1 将镜像保存为文件,让别人也能使用这个镜像,以nginx为例

-o 将镜像输出为什么样的文件,即将nginx:1.20.2的镜像保存为nginx-1.20.2.tar的文件

docker save -o nginx-1.20.2.tar nginx:1.20.2

保存完之后通过xftp将linux的nginx文件下载下来,然后发送给别人,别人通过xftp上传到宿主机上,然后使用指令解压

-i 读取哪一个文件

docker load -i nginx-1.20.2.tar

2  启动docker容器 docker start 容器名

# 启动
docker start mysql
# 重启
docker restart mysql

 3 关闭docker容器

docker stop mysql

 4 删除容器,需要先停止容器

# 停止容器后
# 通过容器名删除
docker rm 容器名
# 通过容器id删除
docker rm 容器id
# 如果为停止容器,也可以使用下面的指令强制删除
docker rm -f 容器名

5 删除镜像

# 通过镜像名删除
docker rmi 镜像名:版本号
# 通过镜像id删除
docker rmi 镜像id

6 查看镜像

docker images

7 查看容器

docker ps

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词