又一只松鼠阿~

Pursue inspiration by doing less.

docker初学

2024-06-06


安装

安装教程: https://docker.easydoc.net/

官网 选择 windows 桌面版,下载进行安装

弹出如下提示

点击提示中的网址,然后下载 linux 内核进行安装。

安装成功之后打开

设置镜像源(不用设置也行)

配置一个新的镜像源,"registy-mirrors":["https://registry.docker-cn.com"],

镜像加速器 镜像加速器地址
Docker 中国官方镜像 https://registry.docker-cn.com/
DaoCloud 镜像站 http://f1361db2.m.daocloud.io/
Azure 中国镜像 https://dockerhub.azk8s.cn/
科大镜像站 https://docker.mirrors.ustc.edu.cn/
阿里云 https://<your_code>.mirror.aliyuncs.com
七牛云 https://reg-mirror.qiniu.com/
网易云 https://hub-mirror.c.163.com/
腾讯云 https://mirror.ccs.tencentyun.com/
 {
   "registy-mirrors":["https://registry.docker-cn.com"],
   "builder": {
     "gc": {
       "defaultKeepStorage": "20GB",
       "enabled": true
     }
   },
   "experimental": false,
   "features": {
     "buildkit": true
   }
 }
 

安装软件

docker 镜像仓库

eg:安装 redis

  1. 在左上角搜索 redis

  2. 找到一件安装的命令

         docker run -d -p 6379:6379 --name redis redis:latest
    
    
  3. 打开 powershell​,粘贴进去进行安装

  4. 打开桌面版程序,可以看到已经安装成功的 redis

  5. 点击 run​ 之后,可以看到运行的情况

eg2:安装 wordpres

  1. 搜索 wordpress​, https://hub.docker.com/_/wordpress

  2. 找到这个文件

  3. 复制这个 yml 内容,然后在桌面新建一个 yml 文件 docker-compose.yml​,将以上的内容复制进去

  4. 在资源管理器中打开这个 yml 文件的目录,在上面输入 powershell​,打开 powershell 窗口

  5. 输入 yml 文件的文件名,不带后缀

         docker-compose up -d
    
    
  6. 打开 docker 桌面版,就可以看到刚才安装的镜像

  7. 浏览器打开 http://localhost:8080/ ,可以看到已经安装成功了

制作自己的镜像

  1. clone 这个项目 https://github.com/gzyunke/test-docker.git

  2. 编辑配置文件

         FROM node:11
         MAINTAINER easydoc.net
    
     # 复制代码ADD . /app
    
     # 设置容器启动后的默认运行目录WORKDIR /app
    
     # 运行命令,安装依赖# RUN 命令可以有多个,但是可以用 && 连接多个命令来减少层级。# 例如 RUN npm install && cd /app && mkdir logsRUN npm install --registry=https://registry.npm.taobao.org
    
     # CMD 指令只能一个,是容器启动后执行的命令,算是程序的入口。# 如果还需要运行其他命令可以用 && 连接,也可以写成一个shell脚本去执行。# 例如 CMD cd /app && ./start.shCMD node app.js
    
    
  3. 在资源管理器中,打开这个项目的目录,地址栏输入 powershell​,回车

  4. 输入 docker build -t test:v1 .​ 点是当前目录的意思,开始创建镜像

  5. 运行 docker run -p 8080:8080 --name test-hello test:v1​,用不了就换成 9090 端口,因为前面已经用过 8080 了 docker run -p 9090:8080 --name test-hello test:v1

  6. 如果还是不行,就需要删除掉刚才重名的容器,然后重新运行刚才的命令 docker run -p 9090:8080 --name test-hello test:v1

  7. 访问一下 localhost: 9090,查看是否运行成功

目录挂载

挂载方式

一共三种挂载方式

  1. bind mount​ 直接把宿主机目录(物理主机的目录映射到容器内,适合挂代码目录和配置文件
  2. volume​ 由容器创建和管理创建在宿主机,所以删除容器不会丢失,官方推荐,更高效,Linux 文件系统,适合存储数据库数据。可挂到多个容器上
  3. tmpfs mount​ 适合存储临时文件存宿主机内存中。不可多容器共享。

eg

  1. 使用命令进行挂载,挂载到项目的目录下

      docker run -p 9090:8080 --name test-hello -v C:\Users\tianzhongs\Desktop\test-docker -d test:v1
    
    
  2. 可以看到已经挂载成功了