使用DOCKERFILE,制作docker镜像
制作docker镜像
- 可以制作自己需要的镜像
- 可以将镜像导入其他环境中的docker,方便移植
docker执行方式
以服务的形式启动,容易以服务的形式运行,通过docker ps -a 查看
docker run --detach \ --publish 49080:8080 --publish 50000:50000 \ --name jenkins \ --volume /Volumes/disk2/workspace/docker/jenkins:/var/jenkins_home\ jenkins:latest
以命令的形式启动,执行后销毁容器
docker run -it --rm --name my-running-script \ -v /Volumes/disk2/workspace/git/python/tws-alert:/usr/src/myapp \ -w /usr/src/myapp centos-py:0.0.1 python \ -m TwsAlert.workflowPredict --factor 9 --mark 3 --multi 4
docker image 制作过程
以python image制作为例
- 基础镜像:centos7.1
目录结构
.
└── python
├── Dockerfile
├── get-pip.py
├── myapp
│ └── test.py
└── requirements.txt其中,python为主目录,Dockerfile在该目录下,内容如下
FROM centos:7 # 基础镜像 # 为镜像安装必要的依赖包 RUN yum -y install gcc RUN yum -y install gcc-c++ RUN yum -y install python-devel RUN yum -y install cyrus-sasl-devel RUN yum -y install mysql-devel # 从本地将pip安装文件copy到docker容器中 COPY get-pip.py ./ # 安装最新版本pip RUN python get-pip.py # 将本地python库需求列表copy到docker容器中 COPY requirements.txt ./ # 安装python库 RUN pip install -r requirements.txt # 指定此image的工作路径,python程序将映射到此路径下 WORKDIR /usr/src/app # 指定容器可执行命令为python CMD [ "python" ]
在python目录下执行命令,创建docker image
sudo docker build -t centos-py:0.0.1 .
执行成功后,可通过docker images命令查看images
chqiang-fdeMacBook-Air:docker chqiang_f$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos-py 0.0.1 8fdb3bed4d46 2 weeks ago 915MB
可以通过以下命令查看image是否可用
chqiang-fdeMacBook-Air:docker chqiang_f$ docker run -it --rm --name my-running-script -v /Users/chqiang_f/work/docker/python/myapp:/usr/src/myapp -w /usr/src/myapp centos-py:0.0.1 python Python 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pandas >>>