如何建设电商网站,网站建设公司推荐乐云seo,本地wordpress打开慢,网站粘度Docker 基本概念介绍 通俗理解#xff1a;镜像是类#xff0c;容器是对象实例 仓库 应用商店、镜像 下载的应用安装程序、容器 应用程序 镜像(Image) 这里面保存了应用和需要的依赖环境 为什么需要多个镜像#xff1f;当开发、构建和运行容器化应用程序时#xff0c;我们…Docker 基本概念介绍 通俗理解镜像是类容器是对象实例 仓库 应用商店、镜像 下载的应用安装程序、容器 应用程序 镜像(Image) 这里面保存了应用和需要的依赖环境 为什么需要多个镜像当开发、构建和运行容器化应用程序时我们通常会有不同优先级。通过为这些独立的任务提供不同镜像 容器(Container) 镜像的实例。一个容器代表一个正在运行的应用程序、进程或服务。它由 Docker 镜像、执行环境和标准指令集组成。需要扩展服务时我真正将镜像跑起来的东西镜像在容器里面。可以看作是一个完全隔离的盒子。 一个容器镜像实例代表一个独立的进程。 Hub 远程存放镜像的平台, hub上已经有很多制作好的镜像可以使用国内镜像平台。 仓库(repository) 仓库用来保存镜像的地方。 镜像构建完成后可以直接在当前宿主上运行但是 如果需要在其它服务器上使用这个镜像就需要一个集中存储、分发镜像的服务。仓库就是这样的一个服务。 安装部署 Docker环境 1. 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm22. 添加稳定镜像源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo因为docker默认官方的镜像源地址是国外的,速度很慢这里将数据源设置为阿里云的镜像。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3. 安装 Docker-CE
yum install docker-ce4. 启动 Docker-CE
#设置开机启动 docker服务:
systemctl enable docker
systemctl start docker5. 卸载 Docker-CE
yum remove docker-ce
#清除所有的文件目录
rm -rf /var/lib/docker Docker 配置国内源加速 1. 修改配置文件
配置文件/etc/docker/daemon.json编辑该文件没有的话先手动创建加入国内镜像源
DockerProxyhttps://dockerproxy.com网易源https://hub-mirror.c.163.com百度源https://mirror.baidubce.com腾讯源https://ccr.ccs.tencentyun.com
# 编辑 Docker 配置文件
$ sudo vim /etc/docker/daemon.json
# 加入以下配置项
{registry-mirrors: [https://dockerproxy.com,https://hub-mirror.c.163.com,https://mirror.baidubce.com,https://ccr.ccs.tencentyun.com]
}Docker镜像加速器阿里云镜像源 也可以使用 阿里云-容器镜像服务ACR 镜像工具 镜像加速器 2. 重启 Docker 服务
# 方法一采用 systemctl 来重启推荐
systemctl daemon-reload
systemctl restart docker# 方法二采用 service 来重启
service docker restart3. 查看是否成功
# 查看 Docker 信息
docker info# 出现以下字段代表配置成功
Registry Mirrors:https://dockerproxy.com/https://hub-mirror.c.163.com/https://mirror.baidubce.com/https://ccr.ccs.tencentyun.com/Docker 常用命令 #查看容器-a 显示包括已经停止的容器:docker ps -a
#拉取镜像: docker pull
#查看镜像: docker images
#删除镜像: docker rmi 镜像name/id
#创建镜像常用方式,注意结尾的.#使用当前目录的 Dockerfile 创建镜像版本号不加默认为 latestdocker build -t [新镜像名称]:[新镜像标签] . #通过 -f Dockerfile 文件的位置docker build -f [Dockerfile的路径] .
#创建容器运行镜像: docker run --name [容器名] -d -p 8080:80 [镜像名称]:[镜像标签]--name 容器名称 ,后面跟着是镜像路径或名称--rm 运行完后删除该容器-p 端口映射 8000 外部端口 80镜像里面运行的端口 将8000映射到镜像里面的80-it 输出容器命令行的内容 即容器的自身的程序输出在控制台进入容器-d 和it相反 隐藏后台运行
#容器交互: docker exec -it [容器name/id] /bin/bash
#退出交互: CtrlP,CtrlQ(Ctrl键一直保持按下)
#启动容器: docker start 容器name/id
#重启容器: docker restart 容器name/id
#停止容器: docker stop 容器name/id
#杀掉运行中的容器docker kill 容器name/id
#删除容器: docker rm 容器name/id
#查看容器日志docker logs -f -t 容器name/id-f : 跟踪日志输出-t : 显示时间戳
#设置开机自启: systemctl enable dockerDocker镜像无法删除的解决办法
#使用强制删除命令docker rmi -f 镜像idDocker容器无法stop的解决办法
docker在rm或者kill相应的容器时发现无法删除或者出现报错
提示 Error response from daemon: Conflict, cannot remove the default name of the container
解决方法
#使用强制删除命令docker rm -f 容器id
#清理该容器的网络占用docker network disconnect --force bridge 容器idDocker 镜像导出-导入 将docker image导出保存为tar文件方便在服务器之间进行传输 1. Docker镜像导出
-o 和 表示输出到文件不加路径则会输出到当前所在目录[新镜像名称].tar为目标文件
docker save -o D:\[新镜像名称].tar [镜像名称]:[镜像标签]
或
docker save [镜像名称]:[镜像标签] D:\[新镜像名称].tar 2. 通过Xftp将导出的tar文件传输到其他服务器上
3. Docker镜像导入
docker load -i [新镜像名称].tar4. 导出-导入过程中遇到的问题 导入完成后镜像的名字和 TAG为 none 这个问题的根本在于这个镜像压缩包在打包的时候操作不当所导致
例如使用镜像ID打包的话导致解压的出来的镜像没有名字
docker save -o D:\[新镜像名称].tar [镜像id]因此推荐使用镜像名进行打包此方式打包的镜像解压出来就有镜像名称了
docker save -o D:\[新镜像名称].tar [镜像名称]:[镜像标签]重命名镜像的方法
docker tag [镜像id] [新镜像名称]:[新镜像标签]