docker 部署隔离其他环境

一、问题

生产测试有很多人同时用,virtualenv 等虚拟环境也是很多人用的,但是docker 可以隔离操作系统,快速获得不同的python版本环境

二、理论

镜像:就是静态的

容器:就是镜像的实例化,码农同学可以类比于对象

三、常用的docker命令

# 查看当前docker版本
docker -v
 
# 查看当前本地所有镜像
docker images
 
# 列出容器。 -a:所有容器包含没有运行的
docker ps 
 
# 查看当前运行下的镜像进程
docker ps -a
 
# 构造镜像,用法docker build -t 镜像名称 .
docker build -t docker_demo .
 
# 启动已被停止的容器【xx -> CONTAINER ID】
docker start xx
# 关闭已被启动的容器 
docker stop xx
# 重新启动容器
docker restart xx
 
# 杀掉一个运行中的容器
docker kill -s KILL xx
 
# 【 注:如果删除镜像,顺序:停止镜像里的容器,再删除容器,最后再删除镜像 】
# 删除一个或多少容器。-f :通过SIGKILL信号强制删除一个运行中的容器-l :移除容器间的网络连接,而非容器本身-v :-v 删除与容器关联的卷
docker rm -f xx、xx2
# 删除镜像
docker rmi xx
 
# 创建一个新的容器并运行,-d为后台执行,-p 9000:3000前面为主机端口,后面是容器端口。docker_demo镜像名
docker run -d -p 9000:3000 docker_demo
 
# 在运行的容器中执行命令。6576abc容器id
sudo docker exec -it 6576abc /bin/bash 
 
# 获取容器获取容器的日志 6576abc容器id,-t:显示时间戳
docker logs -f -t 6576abc
 
# 登陆镜像仓库
docker login
 
# 获取镜像
docker pull 
# 上传镜像
docker push
# 查看指定镜像的创建历史。
docker history docker_demo
 
# 进入容器
docker exec -t 6576abc /bin/bash
 
# 从宿主机拷文件到容器里面
docker cp /home/zhengqing/test.sql mysql_server:/tmp   # mysql_server:容器名  前:宿主机文件路径 后:容器路径
 
# 从容器里面拷文件到宿主机
docker cp 容器名:/tmp/test.sql /home  前:容器路径  后:宿主机路径

下面对该条命令进行剖析

(1)端口映射  -p 8888:8888
将docker中的jupyter的8888接口与本机的8888接口关联

(2)挂载   -v `pwd`/workspace:/opt/workspace
将当前路径下(由`pwd`)的workspaace文件夹映射到docker中的opt路径下的的workspace文件夹,这样,docker下的opt/workspace就指向来本机的`pwd`/workspace文件夹;
Dockerfile 文件示例

FROM ubuntu:18.04

FROM python:3.6.13

RUN pip install --upgrade pip

RUN apt-get update -y && apt-get install -y python-pip python-dev

# We copy just the requirements.txt first to leverage Docker cache
COPY ./requirements.txt /nlp/requirements.txt

WORKDIR /nlp

RUN pip install -i https://pypi.doubanio.com/simple/  -r requirements.txt 

COPY . /nlp

CMD cd /nlp/nlp_service && python app.py

四、使用

1、docker build -t nlp_tornad . 注意后面有个小点!

2、docker run -p 9080:9080 nlp_tornad 端口号可以自己改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai君臣

学会的就要教给人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值