Docker基本使用方法
官方文档地址:https://docs.docker.com/get-started/overview/
安装
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
build image
建一个python flask项目
项目目录
run_app 0.0.0.0:5000 如果配置成127.0.0.1会无法访问
项目目录
flask_test
├── app
│ ├── api
├── config
├── utils
├── config
├── requirements.txt
├── run_app.py
├── Dockerfile
Dockerfile
# syntax=docker/dockerfile:1
FROM python:3.8-slim-buster
WORKDIR /root/dockertest/flask_test
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
COPY . .
CMD [ "python3", "run_app.py"]
从git上拉代码构建images
# syntax=docker/dockerfile:1
FROM python:3.8-slim-buster
RUN apt-get update
RUN apt-get -y --force-yes install git
WORKDIR /app
RUN git clone https://username:password@gitee.com/jarvis09/jarvis.git
WORKDIR /app/jarvis/backend
RUN pwd
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
CMD ["python3", "main.py"]
build命令
docker build --tag python-docker:tagname .
启动
host_port:container_port
docker run --publish 5000:5000 python-docker
常用命令
# 查看运行的container
docker ps
# 查看所有镜像
docker images
# 运行image
docker run
# 停镜像
docker stop
# 删除镜像 -f强制删除
docker rmi -f REPOSITORY:TAG
docker rmi IMAGE ID
# 重命名镜像
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
# 登录docker hub
docker login
# 推到docker hub,推之前需要把本地images的 REPOSITORY名字改成远程docker hub REPOSITORY 名字一样
docker pull yourdaddy08/test:fast_api
# 进入container
docker exec -it "container_id" /bin/bash
# 退出container
exit