-
用Docker创建容器
-
下载镜像:
- docker pull nginx:latest
- docker pull mysql:5.7.30
- docker pull python:3.7
-
查看镜像:docker images
-
删除镜像:docker rmi
-
通过Dockerfile创建自定义的镜像
Dockerfile:指定基础镜像
FROM python:3.7
指定镜像的维护者
LABEL maintainer=“jackfrued@126.com”
设置工作目录
WORKDIR /root
从版本控制克隆代码
RUN git clone --depth=1 https://gitee.com/jackfrued/carsys3.git carsys
设置工作目录
WORKDIR /root/carsys
安装项目依赖项
RUN pip install -r requirements.txt -i https://pypi.doubanio.com/simple/
容器启动时要执行的命令
ENTRYPOINT [“uvicorn”, “api.main:app”, “–host”, “0.0.0.0”, “–port”, “8000”]
暴露端口
EXPOSE 8000
- 根据Dockerfile创建自定义镜像
docker build “jackfrued/api-server” .
- 根据Dockerfile创建自定义镜像
-
创建容器:
- docker run -d -p 3306:3306
-v /root/myproj/mysql/data:/var/lib/mysql
-v /root/myproj/mysql/conf:/etc/mysql/mysql.conf.d
-e “MYSQL_ROOT_PASSWORD=123456” --name mysql57 mysql:5.7.30 - docker run -d -p 8000:8000 -e “DB_USER=hellokitty”
-e “DB_PASS=Hellokitty.618” -e “DB_NAME=carsys”
–link mysql57:mysql57 -e “DB_HOST=mysql57”
–name api-server jackfrued/api-server:latest - docker run -d -p 80:80 --link api-server:api-server
-v /root/myproj/nginx/html:/usr/share/nginx/html
-v /root/myproj/nginx/conf:/etc/nginx/conf.d
–name web-server nginx:latest
- docker run -d -p 3306:3306
多容器管理
K8S ---> Kubernetes ---> for production
生成镜像:
docker commit 容器ID “jackfrued/hello”
docker build -t “jackfrued/hello” .
把镜像保存成归档文件
docker save “jackfrued/hello” -o 归档文件的名字
从归档文件导入镜像
docker load -i 归档文件的名字
放到hub.docker.com(镜像托管)
docker login
docker push “jackfrued/hello”
多容器管理
pip3 install docker-compose
docker-compose up -d
docker-compose down