docker初步了解

导读

本文不追求严谨的措辞,仅为没有用过docker的用户提供快速的概览

docker是一个轻量的虚拟机

虚拟机 :

从网上下载了一个软件,不确定是否包含病毒;或者只是临时用一下,有点洁癖不希望有这个软件的残留。

此时把这个软件放到虚拟机的系统里运行,用完了可能就连这个虚拟系统一起删除了。

 

虚拟机是完全模拟了系统,或许你只是想装个mysql 。

但是为了支撑虚拟系统的运行,维持系统运行的却要许多额外进程。

 

虚拟机里面的系统是个完整的系统

docker的轻量在于你只需要运行你的mysql就好,其他的东西会调用宿主机的功能。

docker的系统算是个半成品,他只运行你要运行的服务。

  • 在linux中安装docker

Docker的版本在1.13.x 叫docker

3月2日,Docker 官方发布了一篇 blog ,宣布企业版到来。版本也从1.13.x一跃到17.03。
此后docker 有两种类型 docker CE(社区版) docker EE(企业版)

此处提供docker ce的安装

配置ubuntu仓库

1. 设置apt支持https

sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

2. 下载验证码

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

3. 指纹验证 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

sudo apt-key fingerprint 0EBFCD88

4. 添加docker官方仓库

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

安装docker

更新apt仓库缓存

sudo apt-get update

安装docker
sudo apt-get install docker-ce

测试Docker的hello world
sudo docker run hello-world

  • 通过docker安装mysql案例理解docker用途

以使用mysql服务为例

环境:系统ubuntu16.10 主机ip:192.168.1.10 docker17 

# 创建保存数据的文件夹

su root
mkdir /my/own/datadir

# 下载镜像(静态文件)

docker pull mysql:5.6.36

# 创建并启动容器

docker run --name mysql_test1 -p 4001:3306 -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.6.36

docker run --name mysql_test1 \

-p 4001:3306 \

-v /my/own/datadir:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123 -d mysql:5.6.36

此时可以通过192.168.1.10:4001访问mysql数据库了

# 启动容器

docker stop mysql_test1

# 启动容器

docker start mysql_test1

 

参数解释

--name mysql_test1

起个名 方便操作

-v /my/own/datadir:/var/lib/mysql

文件夹/my/own/datadir是宿主机的文件,用于保存mysql的数据文件

-v /my/custom:/etc/mysql/conf.d

(这个参数如果需要可以使用) 自定义mysql的配置文件

-e MYSQL_ROOT_PASSWORD=123

动态变量mysql的密码

-p 4001:3306

暴露3306端口到宿主机的4001 用户通过宿主机的4001访问myql

-d mysql:5.6.36

使用之前下载的镜像 -d表示在后台运行

其他命令

# 删除一个停止的容器

docker rm mysql_test1

# 删除一个本地的镜像

docker rmi mysql:5.6.36

案例总结

对于mysql:5.6.36叫做镜像 可以理解为压缩包

称mysql_test1为一个容器 可以理解为解压后的运行文件

docker pull 表示从镜像仓库将某个镜像下载到本地

仓库 :默认会从docker官方拉取镜像,国内也有许多提供仓库服务的公司

安装好之后只会注意三个东西 :

  • 数据库文件的保存位置(文件)
  • ip + 端口 用于连接 (网络)
  • 用户名密码 (其实还是保存在文件中)

其实对于安装的关键点在于:传入的变量 或者想要自定义配置的配置文件

对于调用者的关键点在于:通过网络访问,以及用户的数据文件

  • docker的用途

  1. 可以使开发环境和运行环境保持一致
  2. 可以快速使用来自网友分享的各种开发环境
  3. 自动化测试和持续集成、发布
  • 需要继续了解的东西

不同容器之间如何通信

通过Dockerfile创建镜像

容器的编排

转载于:https://my.oschina.net/fluffy/blog/898208

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值