Docker Note
作用
每台电脑的操作系统、环境变量、Python/C++ 库版本都不一样
Docker 的出现就是为了解决这个环境依赖问题。把代码和运行代码所需要的所有环境(系统、库、配置)全部打包在一起
创造多个隔离的单独环境,防止污染系统环境,随时创建随时删除
利用镜像文件完整部署docker
部件
- Image 镜像,用来部署容器的图纸
- Container 从镜像部署的实例,可以部署多个
命令
- docker ps 查看正在运行的docker
- docker logs [-f] [name] 查看某个docker的日志,-f的作用是实时播放
- docker start [name] 开启容器
- docker restart [name] 重启容器
- docker stop [name] 停止容器
- docker rm [name] 删除容器
- docker run -d –name [name] -p 8080:80 -v ~/html:/usr/share/nginx/html nginx
-d (Detached):后台运行。如果没加,你关掉终端,网页就挂了。
-p 8080:80 (Port):端口映射。左边是宿主机(Ubuntu),右边是容器内部。这相当于打了个洞,把外面的 8080 流量接到里面的 80 端口。
-v (Volume):数据卷挂载。容器是阅后即焚的,删了容器数据全丢。用 -v 把宿主机的文件夹映射到容器里,相当于给集装箱插了个外接 U 盘,数据永远存在 Ubuntu 宿主机上。
docker-compose
利用yaml格式把所有docker run的启动参数整理成一份文件,一键启动文件
services:
db:
image: mysql:8.0 # 使用的镜像
restart: always # 崩溃了或者宿主机重启,自动拉起
ports:
- "3306:3306" # 端口映射:外部 3306 连通内部 3306
volumes:
- ./data:/var/lib/mysql # 数据持久化
environment: # 环境变量:启动时传给容器的参数(密码、配置)
MYSQL_ROOT_PASSWORD: your_password
- docker compose up -d 利用docker-compose.yml 创建docker
- docker compose down
- docker compose logs -f
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments
