Docker_Django学习记录01
【1】Django目录下创建Dockerfile文件:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
From python:3.5.2
RUN mkdir -p /usr/src/dockerapp03
WORKDIR /usr/src/dockerapp03
COPY pip.conf /root/.pip/pip.conf
COPY requestment.txt /usr/src/dockerapp03
RUN pip install -r /usr/src/dockerapp03/requestment.txt
RUN rm -rf /usr/src/dockerapp03
COPY . /usr/src/dockerapp03
CMD ["python","./manage.py","runserver","0.0.0.0:8003"]
【2】Django目录下创建pip.conf文件(使用阿里云镜像下载):
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
【3】在Django目录下运行,生成镜像
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
docker build -t + 镜像名称 + Dockerfile文件路径 (docker build -t mynet . )
【4】查找生成的镜像
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
docker images (删除镜像 docker rmi + 镜像id)
【5】开启容器
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
docker run -it -d -p 8002:8002 --name mynet8002 docker_mynet_8002
docker run -it -p -d(后台运行) 8002(最终访问的端口):8002(Dockerfile里设置的端口) --name mynet8002(容器名称) docker_mynet_8002(镜像名称)
【6】attach 进入容器(如果从这个容器退出,会导致容器的停止。)
docker ps
docker attach +id
【7】docker exec进入容器(如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用 docker exec 的原因。)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
docker exec -it 243c32535da7 /bin/bash
【8】导出容器
docker export 1e560fca3906 > ubuntu.tar
【9】导入容器
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
也可以通过指定 URL 或者某个目录来导入,例如:docker import http://example.com/exampleimage.tgz example/imagerepo
【10】可以查看容器内部的标准输出
docker logs [ID或者名字] 可以查看容器内部的标准输出。
docker logs -f bf08b7f2cd89
docker top newblog 我们还可以使用 docker top 来查看容器内部运行的进程
【11】运行镜像
docker run -t -i ubuntu:15.10 /bin/bash
【12】端口重复删除
ps -aux | grep 8080
kill -9 104615
docker ps -a
docker rm -f bf7e2577fab3
生活可以漂泊,可以孤独,但灵魂不能没有归处。