当前位置: 首页 > Linux

Docker快速创建轻量级便携容器(一)

时间:2023-04-06 03:30:22 Linux

系列其他内容docker快速创建轻量级便携容器✓docker&flask快速搭建??服务接口Docker&nginx&gunicorn是WSGI服务器生产部署实现负载均衡的必备。docker&ngxtop和nginx日志实时分析。docker&supervisor监控你的服务。docker&pyinstaller两步法搭建小容器。nginx+pyinstaller+supervisor搭建满足高并发性能的轻量级服务docker安装本教程基于redhatlinux服务器介绍docker为应用程序提供一个隔离的运行空间:镜像为基础,一个镜像可以创建多个容器,它便于服务的快速部署和迁移;每个容器都包含独占的完整用户环境空间,一个容器的变化不会影响其他容器的运行环境;在线安装阿里云,安装dockercurl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyunstartservice#先切换到root用户,依次执行以下命令systemctlenabledocker#开机自动启动dockersystemctlstartdocker#启动docker网页选择对应的docker版本https://download.docker.com/linux/static/stable/x86_64/上传到服务器(我们选择的版本是docker-rootless-extras-20.10.5.tgz)tar-xvf码头工人20.10。5.tgzcpdocker/*/usr/bin/dockerd&docker-vdeletedocker查询当前系统安装了哪些docker包yumlistinsta充满|grepdockeryumremovecontainerd.io.x86_64docker-ce.x86_64docker-ce-cli.x86_64docker-ce-rootless-extras.x86_64docker-v使用开源镜像构建镜像dockerpullalpine#轻量级,但无法执行python打包的exefiledockerpulldebian:buster-slim#体积比较小,可以执行python打包的exe文件构建你的第一个镜像。具体的服务搭建,可以搭建下一个内容#docker&flask快速搭建??服务接口#。验证flask服务的有效性#flask_test.py是我们构建的flask服务python3flask_test.py可以启动服务wget-Oapirsult.txt"http://127.0.0.1:2222/test?name=xiaoming&pwd=123根据到Dockerfile文件构建个人Docker镜像和服务可用性%%writefileDockerfileFROMpython/3.8WORKDIR/home/myfirstapi/RUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeCOPY..RUNpipinstall-rrequirements.txt-q-ihttps://pypi.tuna.tsinghua.edu.cn/simple&&\rm-rf/var/cache/apk/*expose2222CMD["python3","flask_test.py"]#dockerbuildimage并启动服务dockerbuild-ttest/api:1.0.dockerrun-d-p2222:2222test/api:1.0wget-Oapirsult.txt"http://127.0.0.1:2222/test?name=xiaoming&pwd=123》docker的常用命令基本都用到了,可以使用docker构建容器,容器的基本应用涉及到镜像和容器构建,容器查看相关内容。#构建镜像test/api,版本2.0dockerbuild-ttest/api:2.0.#通过镜像test/api创建后台运行容器,并映射4050端口dockerrun-d-p4050:4050test/api:2.0#两种方式进入容器内部交互命令空间dockerrun-ittest/api:2.0/bin/bashdockercontainerexec-itcontainer-id/bin/bash#查看和停止容器dockerpsdockerstopontainer-id#查看日志dockerlogs-f--tail100container-idorvim/var/lib/docker/containers/containerID/containerID-json.log#查看端口dockerportcontainer-id是哟,可以玩docker涉及容器迁移、修改和数据量相关内容#与容器中的文件交互dockercpcontainer-id:/root/test.txt/root/dockercp/root/container-id:/root/test.txt#查看文件dockerexeccontainer-idls-lthdockerexeccontainer-idcatfile.py#查看容器进程状态dockertopcontainer-iddockerstatscontainer-id#将修改后的容器保存为镜像dockercommit-a"my_name"-m"installxxx"container-idimage_name#保存镜像dockersave-oxxx.tarimagename#加载镜像名dockerload--inputtest.tar#修改镜像名dockertag[镜像id][newimagename]:[newMirrorlabel]#datavolume-同步更新服务器和容器中的对应文件docker运行-d-p4001:4000--nameweb-v/home/linux:/home/docker/test/api:1.0up,快速删除所有镜像和容器,快速停止,删除所有容器,mirrors#viewmirroroverviewdockersystemdf#deletealldockersinallunuseddatainalldockerdockersystemprune-a#stopallinthecontainerProcessdockerpausecontainer-id#删除所有容器dockerkill$(dockerps-a-q)#删除所有容器dockerrm$(dockerps-a-q)#删除所有镜像dockerrmi$(dockerimages-q)