一、Docker介绍
Docker是一个开源的应用容器引擎,它允许开发者将他们的应用以及依赖包打包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上。这个容器引擎的主要特点和优势包括:
- 轻量级:Docker容器利用操作系统的资源更加高效,相比于虚拟机,容器更轻量,启动更快。
- 可移植性:Docker容器可以在任何支持Docker的环境中运行,无论是本地开发环境、云服务器还是物联网设备。
- 隔离性:Docker容器提供了隔离的运行环境,每个容器都有自己的文件系统、进程空间和网络接口,相互之间不会互相干扰,提供了更安全的环境。
- 可复制性:Docker容器可以很容易地进行复制和扩展,为应用的快速部署和扩展提供了便利。
Docker的起源可以追溯到PaaS提供商dotCloud,他们开源了一个基于LXC的高级容器引擎,即Docker。Docker自2013年以来受到了广泛的关注和应用,无论是从github上的代码活跃度,还是各大云服务平台(如Redhat、Google Compute Engine、AWS等)对Docker的支持,都证明了Docker在云计算和容器化技术领域的重要地位。
Docker的主要组成部分包括Docker Client客户端、Docker Daemon守护进程、Docker Image镜像和Docker Container容器。Docker通过可移植的形式和易于使用的工具在应用程序和基础设施之间创造了独立性,为应用的开发、测试、部署和运维提供了极大的便利。
二、Docker的安装部署
1、安装需要的软件包
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
3、更新yum缓存
yum makecache fast
4、查看仓库中docker的版本
yum list docker-ce --showduplicates | sort -r
5、安装docker
yum install -y docker-ce
6、启动Docker
systemctl start docker
7、加入开机启动
systemctl enable docker
8、验证是否安装成功
docker version
9、配置docker国内源 ()
/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件:
mkdir /etc/docker&&touch daemon.json)
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://reg-mirror.qiniu.com"
]
}
三、Docker进程相关操作
#1- 查看docker 版本
docker -v
#2- 查看docker 命令
docker --help
#3- 查看docker 服务端与客户端版本详情
docker version
#4- 启动docker
systemctl start docker
#5- 关闭docker
systemctl stop docker
#6- 重启docker
systemctl restart docker
#7- 查看docker运行状态
systemctl status docker
#8- 关闭防火墙
systemctl stop firewalld #disable
四、Docker镜像操作
#镜像--容器的模板--打包好的---静态的概念--使用的时候请创建容器#1- 查看镜像---本地的
docker images
#2- 搜索镜像--首先本地 --默认的地址
docker search tomcat
#3- 找到所有的镜像--拉取 pull
docker pull tomcat #最新版本
docker pull tomcat:7#最新版本
#4- 本地有了镜像--可以创建容器
docker create --name = myTomcat tomcat
#5- 查看容器
docker ps#查看在运行的容器
docker ps -a#查看所有的容器
#6- 运行容器
docker start myTomcat #start 后面可以跟容器的id(前2-3位)或者 name
#7- 停止容器
docker stop myTomcat #start 后面可以跟容器的id(前2-3位)或者 name
#8- 删除没有运行的容器
docker rm 容器id或者名字
#9- 删除在运行的容器
docker rm -f 容器id或者名字
#10- 查看Docker日志
docker logs [容器ID或容器名称]
#11- 清理Docker未使用的资源
docker system prune
#12- 网络相关命令(如创建、删除、查看网络等)
docker network create [网络名称]
docker network rm [网络ID或网络名称]
docker network ls
五、运行容器操作
#1- 查看docvker run 命令---创建并且启动容器
docker run --help
docker run 后面的参数
-i #运行容器
-t #容器启动后,进入命令行
-v #目录映射--挂载
-d #守护进程--后台运行
-p #端口映射如果容器里有tomcat ,你本机的windows想访问:
#docker tomcat 端口号是8080,需要在虚拟机映射一个端口 : 9099
#windows才可以访问 http://虚拟机的ip:9099
#2- 创建容器,并且进入命令行---进入容器
docker run -it --name=myTomcat tomcat /bin/bash
#3- 退出
exit #容器已经退出
#4- 有没有一起启动方法,不退出容器
#创建运行一个守护的容器
docker run -id --name=myTomcat2 tomcat
#进入
docker exec -it myTomcat2 /bin/bash
六、宿主机与docker容器的文件传递
#1- 在宿主机创建一个文件
touch xt.txt
#2- 把该文件复制到容器里去
docker cp xt.txt myTomcat2:/
#3-进入到容器
docker exec -it myTomcat2 /bin/bash
#4- 进入容器根目标
cd /
#查看
ls
#1- 怎么从容器中的文件copy 到宿主机
touch abc.txt
#2- 退出容器
exit
#3- 复制容器的文件到 宿主机
docker cp myTomcat2:/abc.txt /root