1. 已经在/root/djanog-container创建了demo1这个django项目并成功运行
2.在/root/django-container下创建Dockerfile文件,内容如下
------------------
FROM ubuntu:16.04
MAINTAINER CXF <ttc@asb.com>
RUN apt-get update
RUN apt-get install python3 python3-pip -y
RUN pip3 install django==2.0.0
#demo1是项目root目录,这个目录下有个同名的子目录demo1,这是django项目的特殊设置
ADD demo1 /yettie/spider-monitor/
WORKDIR /yettie/spider-monitor/
EXPOSE 8000
CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
------------------
3. 构建镜像
docker build . -t wy/spider-monitor:0.1
4. 启动镜像,将容器的端口跟宿主机的端口做关联
docker run -d --rm -p 8000:8000 wy/spider-monitor:0.1
5. 如果出错,以交互模式启动进入容器进行各种调试
docker run --rm -it wy/spider-monitor:0.1 /bin/bash
6. 访问一个正在运行的容器进行交互操作
docker exec -it containerID /bin/bash
7.阿里云容器集群:在阿里云创建一个swarm容器集群,2个节点,按量付费,一核2g
登录密码:weA123
8.阿里云容器集群:
创建应用: spider-monitor:0.1 --> 使用镜像创建。
需要先创建用户镜像:镜像与方案-->镜像-->美西1-->新建镜像-->创建镜像仓库-->美西1-->仓库名yettie-test-rep-->本地仓库(通过命令行推送镜像到镜像仓库)
镜像仓库名 registry.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep
镜像名称:yettie-test-rep
镜像性质:私有
公网地址:docker pull registry.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep
经典内网:docker pull registry-internal.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep
VPC网络:docker pull registry-vpc.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep
代码仓库:无
镜像地域:美国西部 1 (硅谷)
9. 把镜像推送到容器
9.1 在本地执行 docker images,出现如下信息
REPOSITORY TAG IMAGE ID CREATED SIZE
wy/spider-monitor 0.1 79957c7a0291 About an hour ago 477MB
9.2 登录阿里云repository
docker login --username=asb registry.us-west-1.aliyuncs.com
密码 weA123
9.3 打一个新的tag
#docker tag 79957c7a0291 registry-vpc.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep:spider-monitor-0.1
docker tag 79957c7a0291 registry.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep:spider-monitor-0.1
9.4 将镜像push到repository
#docker push registry-vpc.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep:spider-monitor-0.1
docker push registry.us-west-1.aliyuncs.com/tanzhi-registry/yettie-test-rep:spider-monitor-0.1
10. 创建应用
有两个ecs,因此要创建两个容器应用。这样每个ecs都有一个。网络类型选择host。一路按照提示走下来,能看到创建的两个。创建的时候,要注意,讲宿主机的8000端口
跟容器暴露出来的端口做关联。成功后,在公网访问两个主机的公网ip:8000,能看到web页面显示不同的容器ip地址。注意,安全组要放开8000端口。
负载均衡47.254.50.119,选择http协议,前端后端都是8000,访问47.254.50.119轮流出现容器应用ip地址。如果前端80后端8000,也是可以的,也可能看到两个ip地址。