Anconda:https://www.anaconda.com/products/distribution#Downloads
pip freeze > reauirments.txt
pip download -d py_pkgs -r requirments.txt
Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker。
>uname -r
注意:先切换root用户:su root
yum install -y yum-utils \
> device-mapper-persistent-data \
> lvm2 --skip-broken
2.3.1 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
2.3.2 安装Docker
yum install -y docker-ce
docker version
sudo systemctl start docker
sudo systemctl enable docker
a.查询docker安装过的包:
yum list installed | grep docker
b.删除安装包:
yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y
c.删除镜像/容器等:
rm -rf /var/lib/docker
安装步骤:
1、获取docker安装文件,官方地址如下:
https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz
2、将下载的安装文件进行解压,命令如下:
tar zxvf docker-19.03.9.tgz
3、将上述解压后文件(docker文件夹)全部移动至/usr/bin目录下(必须),命令如下:
cp -p docker/* /usr/bin
4、将docker注册为service,步骤如下:
①输入如下命令:
vi /usr/lib/systemd/system/docker.service
②点击i,下面出现-----insert----进入编辑状态
复制下面内容至docker.service,复制内容如下:
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
-H tcp://0.0.0.0:4243 \
-H unix:///var/run/docker.sock \
--selinux-enabled=false \
--log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
#Having non-zero Limit*s causes performance problems due to accounting overhead
#in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
#Uncomment TasksMax if your systemd version supports it.
#Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
#set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
#kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
复制完成之后,点击esc键,并输入:wq!保存并强制退出;
可执行如下命令,查看上述复制内容是否正确
cat /usr/lib/systemd/system/docker.service
5、重新加载docker配置文件,命令如下:
$ systemctl daemon-reload
6、启动docker,命令如下:
$ systemctl start docker
7、设置docker开机启动,命令如下:
$ systemctl enable docker
8、查看docker是否安装成功,命令如下:
$ docker version
docker pull silverlogic/python3.6
打包python:
docker save -o python.tar python:3.6.2
sudo vim gunicorn.conf.py
添加一下代码:
workers = 5
worker_class = "gevent"
bind = "0.0.0.0:8080"
3.1 创建Dockerfile文件
sudo vim Dockerfile
添加以下代码到Dockerfile文件中:
FROM python:3.6.2
MAINTAINER susu
COPY requirements.txt ./
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
ADD ./engineSystem.tar.gz /flask_project/
WORKDIR /flask_project/engineSystem
COPY requirements.txt ./
CMD ["gunicorn", "app_flask:app", "-c", "./gunicorn.conf.py"]
我这里镜像的名字直接做成flask_demo了
docker build -t flask_demo:1.0 .
制作完成了,可以看到还是蛮大的,接下来就是使用它了
docker image ls -a | grep flask_demo
docker images | grep flask_demo
两个命令一样,喜欢用哪一个看你自己啊
创建:
docker run -it --name=flask_app -p 5001:8080 flask_demo:1.0
解释一下参数
–name # 是给你创建的容器起一个名字,在后续进行容器操作的时候可以直接使用名字,不用在使用id
-p # 将宿主机的端口映射到容器中
docker ps -a | grep flask_app
docker container ls -a | grep flask_app
两个命令一样啊,用哪个都可以
再次启动:
docker container start flask_app
进入容器中看看:
docker exec -it flask_app /bin/bash
docker save -o flask_image.tar flask_demo:1.0
打开看一下(这个命令是打开当前路径的文件夹)
nautilus ./
下边这个文件,你可以添加绝对路径来导入,我是由于就在当前路径下,直接这样写了
docker load --input flask_image.tar