云溪的 blog
  • Archive
  • Media
  • Search
  • Tags
  • About
Home » Tags

Docker

Dockerfile 介绍

Dockerfile 是用于构建镜像的脚本文件。在某些情况下,需要在基础镜像上加装一些软件,就需要使用 Dockerfile 来构建出自己所需的镜像。 指令介绍 指定基础镜像 ( FROM ) # 不指定版本则默认拉去 latest FROM nginx # 指定版本 FROM nginx:1.25.3 执行命令 ( RUN ) FROM nginx Run apt-get update \ && apt-get install -y --no-install-recommends git vim libpng-dev libjpeg-dev libfreetype6-dev 声明容器运行时监听的端口号( EXPOSE ) FROM nginx Run apt-get update \ && apt-get install -y --no-install-recommends git vim libpng-dev libjpeg-dev libfreetype6-dev EXPOSE 80 设置工作目录 ( WORKDIR ) FROM nginx Run apt-get update \ && apt-get install -y --no-install-recommends git vim libpng-dev libjpeg-dev libfreetype6-dev EXPOSE 80 WORKDIR /var/www 复制文件到容器目录 ( COPY ) FROM nginx Run apt-get update \ && apt-get install -y --no-install-recommends git vim libpng-dev libjpeg-dev libfreetype6-dev WORKDIR /www COPY . /www EXPOSE 80 入口点 ( ENTRYPOINT ) ENTRYPOINT 和 CMD 两个指令十分相似,都是通过指定容器运行的脚本/命令。具体区别可以查看扩展阅读。 ...

November 17, 2023 · 2 min · 云溪

docker 入门介绍

Docker 可以理解为一个轻量级虚拟机,你可以在一台物理机上,装 N 个系统,每个系统部署不同的服务。 Docker 有几个非常重要的概念:镜像、仓库、容器。 镜像:可以理解为操作系统的系统盘,用于给容器安装系统用的,你也可以基于别人的镜像创建自己的镜像。 仓库:用于存储镜像的仓库 容器:相当于虚拟出来的一台台主机,他有存储、网络、系统等关键要素。你可以在容器里部署任何你想要部署的服务。 镜像操作 你可以创建 ( docker build )、删除 ( docker rmi )、下载 ( docker pull ) 镜像 设置镜像源 Docker 官方镜像仓库,在国内下载比较慢,可以通过国内的镜像源来加速镜像下载。本文介绍 Windows 通过 Docker Desktop 换源,如果你是其他系统,可以自行搜索。 复制下面信息到 Docker Desktop 设置 "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] 创建镜像 ( docker build ) 前提是要有构建镜像所需的 Dockerfile,关于 Dockerfile 后面会有专门的文章进行讲解。 docker build -t image_name . 下载镜像 ( docker pull ) 这里就会通过仓库下载镜像到本机。 docker pull ubuntu 删除镜像 ( docker rmi ) docker rmi image_name 容器操作 容器操作分为:启动( docker run ),停止 ( docker stop ),删除 ( docker del ),执行 ( exec )、查看日志(docker logs)。 ...

November 17, 2023 · 2 min · 云溪

docker 常见错误

/var/run/docker.sock: no such file or directory /var/run/docker.sock 的访问权限只 root 和 docker 用户组, 所以你需要把自己的用户添加到 docker 组 命令: $ sudo gpasswd -a ${uesrname} docker

April 28, 2019 · 1 min · 云溪

docker mysql启动报错

错误信息 2018-09-15T08:11:26.620005077Z 2018-09-15T08:11:26.619857Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800! 2018-09-15T08:11:26.620023933Z 2018-09-15 08:11:26 0x7f7203c4b740 InnoDB: Assertion failure in thread 140127666222912 in file ut0ut.cc line 942 解决方法 原因是宿主机data目录不为空照成; 删除默认data目录:/var/lib/mysql

September 15, 2018 · 1 min · 云溪

docker常用命令

docker 查看日志 sudo docker logs -f -t --tail 20 mysql docker拷贝内容到宿主机 docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH 例如:docker cp 容器名:容器路径 宿主机路径

September 15, 2018 · 1 min · 云溪
« Prev  Next  »
© 2025 云溪的 blog