2020-04-25
study
00
请注意,本文编写于 1064 天前,最后修改于 81 天前,其中某些信息可能已经过时。

目录

安装docker
安装docker-compose
利用Dockerfile定制镜像
常用指令
docker-compose
常用指令
奇技淫巧
列出所有的容器 ID
停止所有的容器
删除所有的容器
删除所有的镜像
docker1.3之后的资源清理

一点点docker笔记

安装docker

shell
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
      "https://hub-mirror.c.163.com",
      "https://mirror.baidubce.com",
      "https://dockerhub.azk8s.cn"
    ],
  "insecure-registries" : [
    "hub-mirror.c.163.com",
    "mirror.baidubce.com",
    "dockerhub.azk8s.cn"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装docker-compose

shell
sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

利用Dockerfile定制镜像

dockerfile
# flask部署
FROM python:3.7

COPY . /code
WORKDIR /code

RUN  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && pip install -r /code/requirements.txt
# 如果太慢了再加上这句 不然镜像站有可能同步不全导致包安装失败
# -i https://pypi.tuna.tsinghua.edu.cn/

CMD gunicorn app:app -c gunicorn.conf.py --error-logfile /log/gunicorn.log
shell
docker build -t 'name' .
docker run -it 'name'
docker run -d 'name'
COPY复制文件
CMD容器启动命令
ENV设置环境变量
WORKDIR指定工作目录

常用指令

  • docker image/container ls 列出所有镜像/容器 
  • docker rm ... 删除镜像 
  • docker attach ... 进入容器
  • docker ps -a 列出所有的container包括没有运行的 

docker-compose

dockerfile
# flask redis nginx mysql部署
version: '3.6'

services:
  web:
    build: .
    container_name: web
    volumes:
      - ../logs:/log
    depends_on:
      - db
      - redis
  db:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=mx/58MFuLJ6^%.q
    volumes:
      - ./config/mysql:/docker-entrypoint-initdb.d
  nginx:
    image: nginx:1.17
    volumes:
      - ./config/nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - web
    ports:
      - 8888:80
  redis:
    image: redis:5.0.8
    volumes:
    - ./config/redis/redis.conf:/etc/redis/redis.conf
    command: redis-server
    privileged: true
  • build 利用Dockerfile编译的目录
  • image 镜像 
  • volumes 目录映射关系 
  • depend_on 依赖于 当依赖启动后本service才能启动 
  • port 开放的端口映射 
  • environment 环境变量 
  • privileged 权限 
  • command 自带命令行 

常用指令

  • docker-compose start
  • docker-compose stop
  • docker-compose top

奇技淫巧

列出所有的容器 ID

shell
docker ps -aq

停止所有的容器

shell
docker stop $(docker ps -aq)

删除所有的容器

shell
docker rm $(docker ps -aq)

删除所有的镜像

shell
docker rmi $(docker images -q)

docker1.3之后的资源清理

shell
docker image prune --force --all # 删除所有不使用的镜像
docker container prune -f # 删除所有停止的容器
如果对你有用的话,可以打赏哦
打赏
logo ali pay
logo wechat pay

本文作者:xmmmmmovo

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可协议。转载请注明出处!