Docker,是Linux容器管理软件,容器内部可以独立产生应用pid,端口和网络,容器之间相互独立互不影响。
注意此文章默认已经安装好Windows版本docker客户端,未对安装和界面进行说明,如果你未安装客户端,部分内容将难以阅读
docker官方地址:https://www.docker.com
docker镜像地址:https://hub.docker.com
Docker镜像
创建容器前,必须先拥有一个docker镜像,通过命令:docker run运行容器同时,并拉取镜像
docker run -d -p 6379:6379 --name redis redis:latest
上面是开启一个名为:redis的容器,使用镜像:redis:latest。
run命令执行时会自动识别是否存在redis:latest镜像
不存在拉取docker官方中标签(tag)为latest的redis镜像,并运行redis容器
此处为单独拉取docker官方镜像名为python版本为3.10.11为例: docker pull python:3.10.11 镜像版本tag前往docker官方镜像地址查看
Docker容器
容器(containers)可以直接点击镜像(images)列表中启动按钮生成,此方法生成的容器为随机随机名字
以下是命令生成容器,可以自定义容器名称,下面生成一个名为:python-test的容器
docker run --name python-test python:3.10.11
启动容器命令:
docker start python-test
无前台常驻任务时,容器运行完程序将自动停止关闭
Docker镜像构建
创建目录D:/docker/python,创建index.py。写入print('docker python')
切换至应用目录,创建dockerfile文件(无后缀)
写入以下内容
#导入基础环境 FROM python:3.10.11 #把当前目录下(注意有个.)的内容复制到容器/www/python目录 ADD . /www/python #容器中应用工作目录设置为/www/python WORKDIR /www/python #容器启动时执行index.py CMD python index.py
创建dockerfile后,运行命令(切换至项目目录运行)
docker build -t mypython:v1 .
构建一个名为mypython版本标签为v1的镜像,注意命令最后一个(.)点,成功后将出现在images列表中
Docker容器挂载目录
由于直接修改现有容器需要停掉docker服务,修改配置文件,感觉比较麻烦,所以建议创建容器时一并设置挂载目录
创建容器时,添加挂载目录命令-v
docker run --name python-app -v D:/docker/python:/www/python -d mypython:v1 (这里使用的是上面创建的镜像)
本地目录绝对路径:挂载容器目录路径
-v后面可以直接传入名称,数据将挂载到Volumes上,名称就为传入的名称,可以由docker进行管理
上传镜像hup
注册docker账号
运行命令
docker login -u username(docker用户名)
运行后输入密码显示成功,运行
docker tag mypython:v1 username/project
tag后面为本地镜像名称,后面为hup上项目名称,然后运行
docker push username/project