一、Docker简介
简言之,就是环境移植,跟VM一样是个虚拟化技术
二、Docker组成:
Docker镜像(images) | 用于创建Docker容器的模板,相当于类 |
Docker容器(Container) | 容器是独立运行的一个或者一组应用,容器相当于类的实例对象 |
Docker客户端(Client) | 通过命令行或者其他工具,让Docker API和Docker守护进程进行通信 |
Docker主机(Host) | 一个物理或者虚拟的机器用于执行Docker守护进程和容器 |
Docker守护进程 | Docker服务端进程,负责支持Docker容器的运行以及镜像的管理 |
Docker仓库(Registry) | 用来保存镜像 |
三、Windows下安装Docker(win10,64位)
1.开启Hyper-V,更新之后重启电脑
2.下载Toolbox
(1)链接:https://www.docker.com/get-started
(2)点击下载Windows版本
(3)运行安装
四、Centos7.6下安装和启动Docker
1.安装软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加yum源(阿里云)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.查看仓库中docker的版本,选择需要的版本进行安装(按版本号从高到低进行排序)
yum list docker-ce --showduplicates | sort -r
5.安装docker
(1)安装最新版本docker: sudo yum -y install docker-ce
(2)安装指定版本docker:sudo yum install docker-ce-版本号
6.启动docker
sudo systemctl start docker
五、镜像操作
1.查看本地镜像:docker images
如下:目前是空的
2.搜索镜像,先从本地开始搜索,然后从官网搜索:docker search 镜像名称
备注:一般选择stars最多的下载
3.拉取镜像:docker pull 镜像名称
docker pull tomcat (拉取最新版本)
docker pull tomcat::7 (指定版本下载)
六、容器操作
1.创建镜像对应的容器:docker create --name=[容器名称] 镜像名称
# 创建Tomact容器
docker create --name=tomcat1 tomcat
2.运行容器:docker start [容器名称或者容器id(部分)]
3.查看容器:docker ps
docker ps:查看在运行的容器
docker ps -a:查看所有容器
4.停止容器:docker stop [容器名称或者容器id(部分)]
5.删除容器:
删除未运行容器:docker rm [容器name或者容器id]
删除在运行的容器:docker rm -f [容器name或者容器id]
删除所有容器:
先停止所有容器:docker stop $(docker ps -a -q)
删除所有容器:docker rm $(docker ps -a -q)
七、运行容器
1.docker run 后面参数
参数 | 参数解释 |
-i | 运行容器 |
-t | 容器启动后,进入命令行 |
-v | 目录映射,挂载 |
-d | 守护进程,后台运行 |
-p | 端口映射,想访问容器里面的Tomcat,需要映射一个端口 |
2.创建运行容器,并进入容器命令行
docker run -it --name=tomcat11 tomcat /bin/bash
3.退出容器命令行:exit,并停止容器
4.创建运行守护进程的容器:可以后台运行
docker run -id --name=tomcat12 tomcat
# 进入容器命令行
docker exec -it tomcat2 /bin/bash
# 退出容器命令行,但是容器不会停止运行
八、宿主机与docker容器的文件交互
1.宿主机文件copy到容器
(1)在宿主机创建一个文件
touch test.txt
(2)把该文件copy 到容器里面
docker cp test.txt tomcat12[容器名称]:/(容器对应的目录)
2.容器文件copy到宿主机
(1)在容器创建一个文件
touch test1.txt
(2)退出容器:exit
(3)把文件copy到宿主机
docker cp tomcat12:/test1.txt /root
九、访问容器应用
1.作为守护进程启动,以Tomcat为例
-p 宿主机的端口(自定义):容器里面应用的端口(tomcat是8080)
-v 应用程序挂载到宿主机 宿主机路径:容器路径
docker run -id --name=tomcat12 -p 8888:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat