docker是什么:
是一个容器化技术。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
作用:
能够快速创建环境统一的容器,保证每一个容器的配置都是一样的;
极大的提升部署的效率,减少部署出现的各种环境问题.
docker常见的两个名词:
镜像(Image):Docker 镜像(Image),就相当于是 一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包 含了完整的一套 Ubuntu16.04 最小系统的 root 文件系 统。
容器(Container):镜像(Image)和容器(Contain er)的关系,就像是面向对象程序设计中的类和对象一 样,镜像是静态的定义,容器是镜像运行时的实体。容 器可以被创建、启动、停止、删除、暂停等。
docker 服务相关命令:
systemctl status docker 状态
systemctl start docker 启动
systemctl stop docker 停止
镜像常用命令:
1.查看镜像:查看的是本地镜像
docker images2.搜索镜像:搜索的是远程注册中心(仓库)的镜像
docker search 镜像名3.拉取镜像:(从注册中心 下载镜像到本地)
docker pull 镜像名4.删除镜像: (先查询 再删除)
docker rmi 镜像id
容器常用命令:
1.查看容器:
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器,包括已停止和正在运行的容器;2.创建容器:
方式1:守护式创建: -di --> 创建后不进入容器,后台自动运行 ,我们可以手动进入( docker exec -it 容器名 /bin/bash )
docker run -di --name=${自己的容器名} ${镜像名}:${镜像的tag}
方式2:交互式创建: -it -->创建后进入容器, 退出后,就停止了
docker run -it --name=${你自己的容器名} ${镜像名}:${镜像的tag} /bin/bash3.停止容器:
docker stop ${容器名/容器id}4.启动容器:
docker start ${容器名/容器id}5.删除容器: 注意:rm 删除镜像是rmi
docker rm ${容器名/容器id}6.容器目录挂载(数据卷): -v /xxx:/xxx (主机系统外部目录和容器内部目录进行关联映射)
docker run -di ${自己的容器名} -v ${主机外部目录}:${容器内部目录} ${镜像名}:${镜像的tag}
如:docker run -di myTom -v /host/webapps:/usr/local/tomcat/webapps tomcat:77.端口映射: -p xxx:xxx (主机端口和容器端口进行关联映射)
docker run -di ${你自己的容器名} -p ${主机port}:${容器内部port} ${镜像名}:${镜像的tag}
如:docker run -di myTom -p 10086:8080 tomcat:7
注意: 需要目录挂载时 、端口映射时,才添加 -p -v 参数,如果不需要时,可以不指定!
最简格式: docker run -di --name=${自己的容器名} ${镜像名}:${镜像的tag}
需要指定时: -p -v:
docker run -di --name=${容器名} -p ${主机port}:${容器port} -v ${主机外部目录}:${容器内部目录} ${镜像名}:${镜像的tag}
补充:搜索镜像时报509解决方案如下: