centos7.9安装docker,docker安装使用mysql

1  前言

1.1 docker简介

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。(百度百科)

Docker 从17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们使用社区版就可以满足开发、部署及运维需求了。

1.2 docker官网

Docker: Accelerated, Containerized Application Development

e28e430d22984e8cbbf66eec13fd3624.png

1.3 安装环境

Win10主机+VMware15.5+Centos7.9,root用户登录

如果使用其它linux系统(ubuntu),或者在物理机上安装,过程类似。

2 安装

2.1 安装准备

Docker要求CentOS系统的内核版本高于3.10,先用下边命令检查内核版本是否符合要求。

$ uname -r

 480d15f3e2ac4bbbabd1cac9b8d87549.png

 更新yum包到最新版本

$ yum update

5c839800f22c4540989ebadb7a5ae11e.png

如果系统之前安装过docker,用下边命令先卸载旧的版本;如果没安装过,那么跳过下边步骤

$ yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装所需的软件包 

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

设置稳定的仓库,这里使用阿里云镜像,下载速度快

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

ee1142dd7c974f83bec6fa20a479541b.png

2.2 安装Docker引擎

$ yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

9aca850c15f344b6a9874de445c7605f.png

 等待一会

e9fd14f2f0254e38beceafe8ffcab8b6.png

检查是否安装成功:显示 Docker 版本号即安装成功

$ docker -v

 1fcab55c96ca4474bbe9a45318002825.png 

2.3 启动docker

$ systemctl start docker

 查看docker是否启动成功

$ systemctl status docker

256d63ef827643678a21f83675dc7720.png

 查看docker已安装镜像,首次安装,所以没有可用的镜像

$ docker images

 a322389b80444186b16f41f42c97e451.png

 那么下边我们以mysql为例,介绍在docker中如何安装镜像应用。

3 docker中安装mysql

考虑到mysql的兼容性和稳定性,这里版本不使用最新版本8.x,而是使用mysql5.7.35

3.1 mysql镜像地址

修改镜像文件拉取地址,打开/etc/docker/daemon.json,在下边添加如下内容

$ vi /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

 ae91a806d2e94e1db1d12dd1be4714ff.png

Esc,:wq保存文件,并退出vi

3.2 拉取mysql镜像

使用docker pull 拉取docker hub仓库中mysql镜像,这里选择拉取指定版本。如果拉取mysql最新版本,则可以使用docker pull mysql

$ docker pull mysql:5.7.35   #拉取mysql5.7.35版本
$ docker pull mysql	:latest   #拉取mysql最新稳定版本

 cfc6339cb4084326bf666587c978a5be.png

3.3 创建运行mysql容器

$ docker run \
--name mysql \
-d \
-p 3306:3306 \
--restart unless-stopped \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7.35

参数说明:

docker run                        创建一个新的容器 , 同时运行这个容器

–name mysql                   启动容器的名字

-d                                     后台运行

-p 3306:3306                   将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口

–restart unless-stopped         容器重启策略,在docker重启时重启当前容器

-v /mydata/mysql/data:/var/lib/mysql              将mysql储存文件夹挂载到主机

-v /mydata/mysql/conf:/etc/mysql                   将配置文件夹挂载到主机

-v /mydata/mysql/log:/var/log/mysql               将日志文件夹挂载到主机

-e MYSQL_ROOT_PASSWORD=root           设置root用户的密码

mysql:5.7.35                                                   启动哪个版本的mysql(本地镜像的版本)

\                                                                      shell 命令换行符

 

注意:docker run中使用参数 –v,用来挂载数据目录、配置文件、日志等。这样重启mysql实例后数据不会丢失。

查看安装和运行的镜像

$ docker images
$ docker ps

-a 查看已经创建的容器

-s 查看已经启动的容器

e14e0f10aeaf41c1b721b7df6e78ba9c.png

 进入mysql

$ docker exec -it mysql /bin/bash  #或者下边命令
$ docker exec -it mysql bash

3.4 登录mysql

mysql -uroot -p

34ce0794199045c3b66b6a643f0c3ba6.png

3.5 mysql操作

show databases;
create database mytest;
use mytest;
create table user(id VARCHAR(20),name VARCHAR(25),age INT(4));
insert into user values('1','cc','18');

 5b916b05b743447f9a0691be112ce41b.png

3.6 Navicat for MySQL连接mysql

d0e205862d39486a9e9b133a97a333fe.pngc1ce71073a6f4dc3bf75071aa7d50f53.png

 4 docker常用命令一览

 4.1 docker操控

systemctl start docker   				#启动Docker服务
systemctl stop docker    				#停止Docker服务
systemctl restart docker 				#重启Docker服务 
systemctl status docker  				# 看Docker服务状态
systemctl enable docker  				#设置Docker开机启动
systemctl disable docker				#取消Docker开机启动

4.2镜像操作

docker images							#查看docker已安装所有镜像
docker rmi -f img_name or 镜像id 		#删除镜像名为img_name的镜像
docker build -t xxx:v1 .				#创建镜像,标签为 xxx:v1
docker save 镜像id -o xxx.tar			#打包镜像
docker load -i xxx.tar					#加载镜像

4.3容器操作

docker ps -a							#查看已经创建的容器
docker ps -s							#查看正在运行的容器
docker run								#创建运行容器,语法见3.3
docker start con_name or 容器id 			#启动容器名为con_name的容器
docker stop con_name or 容器id 			#停止容器名为con_name的容器
docker rm -f con_name or 容器id 			#删除容器名为con_name的容器
docker rename old_name new_name 		#重命名一个容器
docker logs -f con_name or 容器id		#查看容器控制台打印信息
docker exec -it con_name /bin/bash		#进入名为con_name的容器内部
docker kill -s KILL con_name			#强制关闭名为con_name的容器

5 参考文献

  1. CentOS Docker 安装 | 菜鸟教程
  2. Docker 安装 Mysql 容器 (完整详细版)_Touch&的博客-CSDN博客_docker mysql
  3. centos7下安装docker 以及简单使用_Mars'Ares的博客-CSDN博客_centos7 docker

猜你喜欢

转载自blog.csdn.net/chexlong/article/details/127428669