之前没找到怎么安装,最近找到了一个大哥的文章,我试了一下,很成功,特的整理出来,不过和centos也大同小异,基本上一样
安装docker
0.配置yum源
换源,用Centos-8.repo(点击进去可直接下载文件)替换掉/etc/yum.repos.d/redhat.repo
这个文件(文件传输在xshell上用xfpt传即可)
yum clean all # 清理yum缓存,使设置生效
yum makecache # 将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度
yum repolist #显示所有仓库
最后会变成这个样子
1.卸载旧版本(如果安装过旧版本的话)
多行都要复制,\是换行符
yum remove docker \
docker-common \
docker-selinux \
docker-engine
2.安装需要的软件包
yum-util提供yum-config-manager功能
另外两个是devicemapper驱动依赖的
===================多行都要复制,\是换行符
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
=====================================
3.安装最新版本
yum install -y docker-ce
安装指定版本
#查询版本列表
yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
已安装的软件包
可安装的软件包
* updates: mirrors.163.com
Loading mirror speeds from cached hostfile
* extras: mirrors.163.com
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
...
#指定版本安装(这里的例子是安装上面列表中的第二个)
yum install -y docker-ce-17.09.0.ce
4.启动docker
systemctl start docker.service
5.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
docker安装mysql
6.docker安装mysql查看可用的 MySQL 版本
docker search mysql
7.拉取 MySQL 镜像
指定版本mysql5.7.14
:
docker pull mysql:5.7.14
如果要拉取官方的最新版本的镜像:
docker pull mysql:latest
8.查看本地镜像
docker images
9.运行容器
此处如果复制粘贴代码有可能会报错:报错原因是因为 “–”(英文输入法)这种字符在csdn代码块中和“–”(中文输入法)一样,看不出来区别,如果报错,重新手打就行了
安装完成后,我们可以使用以下命令来运行 mysql 容器:
这个是默认运行mysql:last
最新版
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql /bin/bash
======================
如果报错,重新手打就行了
如果是其他的版本,以mysql5.7.14
为例
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.14 /bin/bash
======================
如果报错,重新手打就行了
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主
机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=root:设置 MySQL 服务 root 用户的密码。
报错的样式
8.安装成功
通过 docker ps 命令查看是否安装成功:
docker ps
docker ps -a
显示未启动的容器
docker ps -a -d
显示未启动的容器id
docker stop 容器id
docker rm 容器id
删除容器
9.登录
先要登录到mysql
在的那个容器
//命令
sudo docker exec -it mysql-test /bin/bash
//解释
mysql-test: 容器名称
exec : 在运行的容器中执行命令
//结果
[root@localhost ~] sudo docker exec -it mysql-test /bin/bash
root@3bc1f2634fb6:/#
之后在这个界面登录就行`mysql -u root -p`,密码是之前设定的`root`
如果登不上去,报错了
原因是容器中的MySQL服务器没有启动
systemctl start mysql
之后就可以登陆上去了