Docker入门

本文主要介绍Centos6.x系统安装docker,以及docker的基本操作。

1.Docker概述

Docker是一种虚拟化技术,即容器。容器不是模拟一个完整的操作系统,而是对进程进行隔离。
对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。

2.Docker安装

Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。下面的介绍都针对社区版。

1
2
# yum install epel-release -y					安装epel源
# yum install docker-io 安装docker

安装完成后,运行下面的命令,验证是否安装成功。

1
# docker version

启动docker服务:

1
2
# service docker start
# chkconfig docker on

3.镜像操作

  • 列出本地镜像
1
2
# docker images							可以看到没有镜像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  • 创建镜像

创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像,也可以利用本地文件系统创建一个。

1
2
3
4
5
# docker pull busybox
# docker run busybox echo "hello world"
# # docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
busybox latest bc538d5908c7 4 weeks ago 1.146 MB
  • 删除镜像
1
2
3
# docker kill $(docker ps -a -q)			杀死所有running状态的容器
# docker rm $(docker ps -a -q)
# docker rmi bc538d5908c7 删除镜像
  • 搜索镜像
1
# docker search centos
  • 下载镜像并启动
1
2
# docker pull centos
# docker run -i -t centos /bin/bash

4.docker应用

  • docker安装mysql服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# docker pull hub.c.163.com/library/mysql:5.7				拉取mysql镜像,采用网易加速地址
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 88ec626ba223 2 weeks ago 199.7 MB
hub.c.163.com/library/mysql 5.7 573ca163b053 14 months ago 407.1 MB
# docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7 重命名镜像名

# mkdir /opt/mysql/datadir #用于挂载mysql数据文件
# mkdir /opt/mysql/conf.d #用于挂载mysql配置文件
# docker run --name mysql5.7 -p 3306:3306 -v /opt/mysql/datadir:/var/lib/mysql -v /opt/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
参数说明:
--name:容器名
--p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-e:设置环境变量,此处指定root密码
-d:后台运行容器
# mysql -h192.168.0.215 -p3306 -uroot -p 连接测试
---------------- The End ----------------