WEB后端服务第21天-项目第一天
一、搭建项目团队开发平台
二、Docker的基本用法与快速部署项目
2.1 基本说明
主流的开发模式: DevOps 开发即运维
Docker 是基于容器技术(虚拟技术), 包含Docker仓库、镜像、容器。docker.io 安装完成后,默认存在两个进程即Client和Server(守护进程 daemon)。一个镜像可以运行多次,每一次都会产生容器子进程。
apt install docker.io
2.2 常用命令
- docker version
- docker search 镜像名
- docker pull 镜像全名
- docker images 查看所有本地镜像
root@xpy903:/home/disen# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest f7302e4ab3a8 3 weeks ago 98.2MB
- docker run 启动镜像
同步运行镜像
docker run --name redis1 redis
ctrl+C退出
后台运行,且映射端口
docker run -dit --name redis2 -p 6377:6379 redis
查看所有容器进程
docker ps -a
root@xpy903:/home/disen# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68f84c03bbd2 redis "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6377->6379/tcp redis2
c1a00d5f8dbb redis "docker-entrypoint.s…" 7 minutes ago Exited (0) 6 minutes ago redis1
删除容器
docker rm redis1
停止容器进程
docker stop redis1
启动容器进程
docker start redis1
删除镜像
docker rmi 镜像名或镜像ID
Python测试连接的代码
from redis import Redis
from sys import argv
config = {
'host': '10.36.174.32',
'port': argv[1],
'db': 2
}
client = Redis(**config)
print('Redis 连接成功! %s' % str(config))
以上的内容是test_conn.py文件的,运行脚本:
python test_conn.py 6377
练习任务:
docker部署mysql, 并写一个msyql的测试程序。
注: 运行镜像是通过 -e 参数指定root的口令
docker run -itd -p 3306:3306 --name master -e MYSQL_ROOT_PASSWORD=root mysql
进入容器
docker exec redis1 ls
以上只执行redis1容器的命令 ,查看当前容器的工作目录下的文件, 可以使用 -it 进入容器内部。
docker exec -it redis1 /bin/sh
2.3 Dockerfile的用法
FROM ubuntu-dev:latest
MAINTAINER disen 610039018@qq.com
WORKDIR /usr/src
RUN apt update
RUN apt install cron
RUN git clone https://github.com/xpy903/OneGuyAPI.git
WORKDIR /usr/src/OneGuyAPI
RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
RUN chmod +x auto_down.sh
RUN crontab auto_down.cron
CMD python3 manage.py runserver 0:80
生成镜像
进入到Dockerfile文件所在的目录,执行以下命令
docker build -t oneguy:1.0 .
导出导入镜像
将镜像保存到磁盘上
docker save -o ~/project.tar oneguy:1.0
从磁盘加载镜像的压缩文件
docker load --input ~/tag.tar
或
docker load < ~/tag.tar
对加载的镜像没有名称和tag时,可以使用docker tag 对镜像ID进行重命名
docker tag 57165c7f4a35 onebuy:latest