跳至主要內容

Docker

zzz大约 2 分钟

Docker

安装

Mac安装

使用Homebrew

brew install --cask --appdir=/Applications docker

手动安装

Install Docker Desktop on Macopen in new window

镜像加速

打开docker的设置,修改Docker Engine中registry-mirrors地址

{
  "experimental": false,
  "registry-mirrors": [
    "阿里镜像",
    "https://hub-mirror.c.163.com/",
    "https://docker.mirrors.ustc.edu.cn/"
  ],
  "features": {
    "buildkit": true
  }
}



 
 
 





国内的加速服务:

如果想要使用阿里的镜像加速服务,那么可以通过阿里云open in new window进行获取。

步骤:登录阿里云->进入控制台->从“产品与服务列表”中找到“容器镜像服务”->镜像工具->镜像加速器

命令

docker ps

docker psopen in new window

过滤镜像

docker ps --filter ancestor=hello-world -a

docker container

docker containeropen in new window

docker container rm

批量删除容器

docker container rm $(docker ps --filter ancestor=hello-world -qa)

docker exec

docker execopen in new window

以交互方式进入容器

docker exec -it containerId command

command与镜像构建有关,可以查看镜像的构建描述。比如redis:alpine3.14open in new window 这个镜像就是基于/bin/sh ,那么就不能像进入ubuntuopen in new window 容器那样使用/bin/bash

日志

docker logs -f --tail 100 66c017d8fc53

修改容器配置

  • 将容器提交为新镜像
commit
commit

docker commit some-rabbit some-rabbit_new

磁盘清理

参考:https://betterprogramming.pub/docker-tips-clean-up-your-local-machine-35f370a01a78open in new window

docker system df
执行结果
执行结果
  • Images:所有镜像占用的空间。
  • Containers:运行的容器占用的空间,表示每个容器的读写层的空间。
  • Local Volumes:容器挂载本地数据卷的空间。
  • Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。

清理Build Cache

docker builder prune

一键清理

docker system prune

安装Nginx

  • 创建好要挂载的目录mydata
mkdir -p <mydata>/nginx/nginx.conf
mkdir -p <mydata>/nginx/html
mkdir -p <mydata>/nginx/log
// nginx.conf
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

		location / {
            root   /home/ruoyi/projects/ruoyi-ui;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

mydata/nginx/html内创建一个默认的index.html

  • 运行
docker run -d -p 80:80 --name nginx --privileged=true -v <mydata>/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v <mydata>/nginx/html:/etc/nginx/html -v <mydata>/nginx/log:/var/log/nginx 镜像ID/名称