CentOS7下安装docker并测试安装MySQL

 

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

官网:https://www.docker.com/ 相关资料:

1、Docker入门教程 http://dockone.io/article/111

2、Docker_百度百科 http://baike.baidu.com/view/11854949.htm

3、史上最全Docker资料集粹 http://special.csdncms.csdn.net/BeDocker/

4、Docker - 话题精华 - 知乎 http://www.zhihu.com/topic/19950993/top-answers

5、docker 简明教程 | 简果网 http://www.simapple.com/docker-tutorial

6、如何使用Dockerfile构建镜像 http://blog.csdn.net/qinyushuang/article/details/43342553

7、Dockerfile reference - Docker https://docs.docker.com/engine/reference/builder/

Docker与虚拟机比较

作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:

Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。

Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。

Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。

Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。

虚拟机实现了硬件上的虚拟,而Docker则实现了操作系统级别的虚拟。

安装

Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本:

[root@bogon ~]#  uname -r

3.10.0-327.22.2.el7.x86_64

Docker支持以下的CentOS版本:

CentOS 7 (64-bit)

CentOS 6.5 (64-bit) 或更高的版本

Docker 支持以下的 Ubuntu 版本:

Ubuntu Precise 12.04 (LTS)

Ubuntu Trusty 14.04 (LTS)

Ubuntu Wily 15.10

其他更新的版本……

Linux安装

curl -fsSL https://get.docker.com/ | sh  

# daocloud.io 国内镜像

curl -sSL https://get.daocloud.io/docker | sh

该安装包适用于 Ubuntu,Debian,Centos 等大部分主流 Linux 发行版。

当以普通用户身份去使用docker images时,如果出现以下错误:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

是因为权限问题:

sudo groupadd docker

sudo gpasswd -a ${USER} docker

sudo service docker restart

newgrp - docker

CentOS7支持使用yum安装:

yum update

yum install docker

查看文档:

https://docs.docker.com/engine/installation/linux/centos/

http://docs.daocloud.io/faq/install-docker-daocloud

查看版本:

docker version

显示:

Client:  

Version:      1.11.2  

API version:  1.23  

Go version:   go1.5.4  

Git commit:   b9f10c9  

Built:        Wed Jun  1 21:23:11 2016  

OS/Arch:      linux/amd64  

Server:  

Version:      1.11.2  

API version:  1.23  

Go version:   go1.5.4  

Git commit:   b9f10c9  

Built:        Wed Jun  1 21:23:11 2016  

OS/Arch:      linux/amd64

启动docker服务:

service docker start  

# 或者 systemctl start docker

centos7使用systemctl 替代service 管理服务。

systemctl 常见用法:

# 格式

systemctl   动作   服务名.service  

# 常见命令 systemctl start docker #启动

systemctl restart docker #重启

systemctl stop docker #停止

systemctl status docker #查看状态

systemctl enable docker #自启动

systemctl disable docker #禁止自启动

.service可以省略。 (详见:RHEL7中systemctl的用法 http://blog.csdn.net/catoop/article/details/47318225)

为了后面的需要,我们这里下载个ubuntu的镜像:

docker search ubuntu

docker pull ubuntu 

# 查看所有可用镜像 docker images -a

 

使用docker命令  docker images 备注:查看docker已经安装的镜像 裸机状态下为空

 使用docker安装mysql step1:使用docker pull 拉取docker hub仓库中mysql镜像 (注意备注) mysql镜像版本如下:

 

docker pull mysql:8.0

备注:docker pull 默认到官方参考拉取  mysql:8.0   镜像名:镜像tag     

         官方地址为国外地址安装缓慢可进行配置

修改镜像文件拉取地址为ustc 

vi /etc/docker/daemon.json

备注:insert 编辑内容如下      并esc  输入:wq 保存退出  

{

"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]

}

重启docker   重新进行step1 安装速度变快

systemclt restart docker

查看镜像安装情况

docker images

启动docker中镜像

docker run --name mysql8.0 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

备注 :--name 服务启动别名设置  -p端口映射 宿主机端口:镜像运行端口  -d 镜像名:tag 使用守护进程模式启动 -e:设置root帐号密码

查看运行的镜像

docker ps -a

进入镜像 运行mysql

docker exec -it mysql8.0 /bin/bash

备注:exec docker进入容器命令   -it 容器中服务别名 /bin/bash   表示命令行模式  与 -d 后台守护进行模式启动 形成两种运行方式    进入容器中如图所示变化如下

 

cd /usr/bin

mysql -u root -p 备注: 在容器中进入用户目录启动mysql 输入密码连接成功

 

posted @ 2019-02-14 13:31  秋天的风吹过原野  阅读(1800)  评论(0编辑  收藏  举报