一、Docker
-
什么是docker?
docker用的好,晚上睡得早。docker使得个人开发变得越来越容易。
docker按网上的解释是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
特点有三
1、可以快速部署启动应用。
2、虚拟化,资源隔离。
3、一次撸码,遍地散花。
注意:第三点也是有一定条件的,docker是基于Linux 64开发的,所以无法在 32位环境下应用。 -
用docker能做什么?
为什么要用docker,他能给我们带来什么好处?
1、一次性配置环境。通常安装一个应用时,还会安装许多该应用依赖的包、各种版本匹配问题等,很头疼。docker则可以通过镜像直接启动运行应用。
2、快速部署。docker部署一个应用,将它制作成镜像,然后通过docker快速启动。
3、可移植性强。可以在一个机器上组建微服务架构,运行多个应用。
4、资源隔离与共享性能好。
二、Docker安装
1. Linux Centos7下安装docker
- 环境条件:Centos7
- docker条件:3.8版本以上,EE或CE
- 安装weget:yum install -y wget
- 下载阿里云docker社区版yum源
[root@192 ~]# cd /etc/yum.repos.d/ [root@192 yum.repos.d]# wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 查看docker安装包
[root@192 yum.repos.d]# yum list | grep docker
- 安装docker Ce版
[root@192 yum.repos.d]# yum install -y docker-ce.x86_64
- 设置docker开机自动启动
[root@192 ~]# systemctl enable docker
- 更新xfsprogs日志文件系统
[root@192 ~]# yum -y update xfsprogs
- 启动docker服务
[root@192 ~]# systemctl start docker
- 查看是否启动
[root@192 ~]# ps -ef | grep docker
- 查看docker详细信息
[root@192 ~]# docker info
2. Win10下安装docker
注意:只适用win10专业版及以上,不支持家庭版
家庭版可参考Docker Quickstart Terminal的使用
- 下载地址:docker for Win10.
- 安装设置
1、
2、
3、
- 双击下载的docker,开始安装,一直下一步
- 国内镜像加速地址
1、docker中国:链接.
2、网易:链接.
三、docker入门
后续所有操作都在Centos7环境下进行。
1. docker镜像
- 什么是镜像?
镜像是一种文件存储形式。通俗来说就是提供基本操作系统环境,有了镜像docker容器才可以运行。 - docker镜像操作的基本命令
1、查看本地镜像
2、搜索镜像[root@192 ~]# dcoker images
3、过滤搜索镜像,只保留官方的[root@192 ~]# docker search [镜像名]
4、下载镜像[root@192 ~]# docker search --filter "is-official-true" [镜像名]
5、修改本地镜像名称[root@192 ~]# docker pull [镜像名]
6、删除本地镜像[root@192 ~]# docker tag [镜像名]:[标签] [新镜像名]:[新标签]
[root@192 ~]# docker rmi [镜像名]:[标签]
2. 配置阿里云镜像加速
因为大部分服务器都是在国外,导致镜像下载速度不忍直视,所以配置镜像加速是非常有必要的。
- 阿里云镜像加速器配置地址:链接
- 注册自己的账号和密码,登陆。
- 进入容器镜像服务界面
- 获得加速器地址,选择centos7,会有相关配置文档,按步骤配置即可。
3. docker容器
-
容器的构建
[root@192 ~]# docker run -itd --name=[容器名签] [镜像]:[标签]
- –name:指定容器名称
- -i:以交互 模式运行容器
- -t:为容器重新分配一个伪输入终端
- -d:后台运行容器,返回容器ID
-
查看本地所有容器
[root@192 ~]# dcoker ps -a
-
查看本地正在运行容器
[root@192 ~]# docker ps
-
停止容器
[root@192 ~]# docker stop [容器ID/容器名称]
-
停止所有容器
[root@192 ~]# docker stop $(docker ps -a -q)
-
启动容器
[root@192 ~]# docker start [容器ID/容器名称]
-
重启容器
[root@192 ~]# docker restart [容器ID/容器名称]
-
删除容器
[root@192 ~]# docker rm [容器ID/容器名称]
-
强制删除容器
[root@192 ~]# docker rm -f [容器ID/容器名称]
-
查看容器详细信息
[root@192 ~]# docker inspect [容器ID/容器名称]
-
进入容器
[root@192 ~]# docker exec -it [容器ID] /bin/bash
4. 容器文件的复制与挂载
-
从主机复制到容器
[root@192 ~]# docker cp [主机本地路径] [容器名/ID]:[容器路径]
-
从容器复制到主机
[root@192 ~]# docker cp [容器名/ID]:[容器路径] [主机本地路径]
-
本地主机文件挂载到容器中
[root@192 ~]# docker run -itd -v [主机路径]:[容器路径] [镜像]:[标签]
注意:不能挂载到现有已运行的容器中,只能重新创建新容器再进行挂载。挂载的文件,在主机与容器中是同步的。