docker的基础使用,容器排查及远程管理

93 阅读2分钟

容器构建步骤

创建镜像

  • 从远程仓库拉取
docker pull mysql
  • 根据现有项目的目录创建

需要先创建一个dockerfile配置文件,指定基础镜像,设置工作目录,并指定启动命令 ,一般复杂一点的容器都要通过dockefile去创建

FROM python:3.9

# 设置工作目录
WORKDIR /app

# 将当前目录中的文件复制到容器的工作目录中
COPY . /app

# 安装依赖项
RUN pip install -r requirements.txt

# 设置容器的默认启动命令
CMD ["python", "app.py"]

然后运行
docker build -f dockerfiletest -t test .

其中-f指定配置文件名称 -t指定镜像名称, . 表示当前目录,运行 docker build 命令时,Docker 将会在项目根目录下查找并使用指定的 Dockerfile 来构建 Docker 镜像

  • 删除镜像
 docker rmi test

创建容器

doker run + 镜像名称或者id

docker run test

运行时暂停

docker run  -it preprocess:latest bash -c sh sleep 3600

列出所有容器, \t表示制表符分隔,能让输出排列更加整齐

docker ps --format "table {{.ID}} {{.Names}}\t{{.Status}}"

重启容器

docker restart containnerid

运行交互式容器,交互式容器可以进行问题排查,手动执行脚本以便定位问题

docker run -it my_image bash

更改command命令,在命令启动前进入容器

bash -c "sleep 3600 && echo 'Other operations'"

进入一个正在运行的容器

docker exec -it offline-common-mitm bash

查看运行日志

docker logs -f e48945e300f3

远程管理工具Portainer

Portainer是一个开源的轻量级容器管理工具,用于简化Docker环境的管理和操作。它提供了一个直观的Web界面,使用户可以轻松地管理Docker容器、镜像、网络和数据卷等

拉取

docker pull portainer/portainer

运行

docker run -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_db:/data portainer/portainer

然后可以在浏览器中使用ip + 端口进行访问

image.png