docker安装
添加docker官方源
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
启动docker
sudo systemctl start docker
设置开机启动
sudo systemctl enable docker
打包镜像
docker build -t spider-client .
查看镜像
docker images
启动镜像
docker run -e carrier="active 626" spider-client
其中-e carrier等号后面的跟之前cmd写的扩展一样
spider-client为镜像名称,也可以给镜像id
镜像,容器操作
docker run -d spider-client # -d表示后台运行,然后会有一个容器来启动镜像
docker ps -a # 列出目前启动的容器, -aq 仅列出id
要重新打包/删除镜像,需要先停止容器,再删除容器,最后删除镜像
docker stop 容器id 停止单个容器
docker stop $(docker ps -aq) 停止所有容器
docker start 容器id 启动容器
docker rm $(docker ps -aq) 删除所有容器
docker rm $(docker ps -aq --filter "ancestor=spider-client") # 根据容器名字或id删除容器
docker rmi 镜像名称/id 删除镜像,重新打包的时候用
docker logs <container_id> 查看运行的数据,可以看到抓数跑的情况,加-f 看实时的(日志太多,加上限制,不然会一直跑很多)
docker logs -t --tail 50 6ba954571478 # 查看容器id最后50行日志
docker logs -f -t --tail 50 6ba954571478 # 实时查看容器id最后50行日志
docker logs -f -t --since="2020-08-06" --tail=100 容器id # 查看指定时间后的日志,只显示最后100行
docker logs --since 10m 容器id #查看最近10分钟的日志
docker system prune 释放磁盘空间(每次build不会删除文件,存储空间会因缓存一直增加)
docker image prune 删除未被使用的镜像层
dockerfile
FROM python:3.9
ARG carrier
# 一定不能有空格
ENV carrier=${carrier}
# 设置工作目录
WORKDIR /spider-client
# 复制项目文件到容器中
COPY . /spider-client
RUN apt-get update && apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
RUN apt-get install -y nodejs
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
WORKDIR /spider-client/bin
RUN npm install crypto-js
CMD if [ -z "$carrier" ]; then python main.py; else python main.py $carrier; fi
# 启动应用程序
#CMD ["python", "main.py"]
评论 (0)