docker基础
docker…
wsl2 ubutu安装docker
1 |
|
docker
1 | docker images |
1 | docker save -o front.tar registry.agree.com.cn:5000/aops-long-front:latest |
docker network
(docker network科普)[https://zhuanlan.zhihu.com/p/639664175]
Dockerfile
1 | docker build -t testdockerfile:v1.0 ./ |
docker compose
在 docker-compose.yml 目录下运行
1 | docker-compose --version |
build 构建(重新构建)项目中的服务容器
config 检测 compose 文件的错误
up 创建并启动所有service容器
down 停止容器并移除所有的容器和网络
images 列出项目中所包含的镜像
logs 查看服务容器的日志
kill 发送 SIGKILL 信号来强制停止服务容器
port 查看某个容器端口所映射的公共端口
ps 列出项目中目前的所有容器
restart 重启项目中的服务
rm 删除所有停止状态的服务容器
run 在指定服务上运行一个命令
scale 设置指定服务运行的容器个数
stop 停止处于运行状态的容器
start 启动被 stop 的服务容器
top 查看各个服务容器内运行的进程
pause 暂停一个服务容器
unpause 恢复处于暂停状态中的服务
对于 docker-compose 有两个基本的概念:
服务(service):一个应用容器,即 docker 容器,比如之前所说的 mysql 容器、nginx 容器
项目(project):由一组关联的应用容器组成的一个完整业务单元,比如上面所讲的由 mysql、web app、nginx 容器组成的网站。docker-compose 面向项目进行管理。
Compose 通过一个配置文件来管理多个 Docker 容器,在配置文件中,所有的容器通过 services 来定义,然后使用 docker-compose 脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景
(docker-compose 服务启动顺序控制)[https://www.cnblogs.com/wang_yb/p/9400291.html]
(示例项目)[https://github.com/zhengqingya/xiao-xiao-su]
镜像的导入导出
1 | # 打包单个镜像 |
- 用 export 容器 id 和 import - 新名称
- 用 save 容器 id 和 load
- 1 和 2 不可混用
- 区别: docker save 可以一个文件打包多个镜像,还包含着镜像历史,体积比较大,不能对载入的镜像重命名,docker export 相反
- 运行场景:docker export 的应用场景:主要用来制作基础镜像,比如我们从一个 ubuntu 镜像启动一个容器,然后安装一些软件和进行一些设置后,使用 docker export 保存为一个基础镜像。然后,把这个镜像分发给其他人使用,比如作为基础的开发环境。
docker save 的应用场景:如果我们的应用是使用 docker-compose.yml 编排的多个镜像组合,但我们要部署的客户服务器并不能连外网。这时就可以使用 docker save 将用到的镜像打个包,然后拷贝到客户服务器上使用 docker load 载入。
nginx 的 dockerfile 示例
- dockerfile
1 | FROM nginx:latest |
- 启动命令
1 | docker run --name firefly-styleguide -p 6060:6060 \ |
portainer
Portainer 是一个轻量级的容器管理工具,可以帮助用户在 Docker 环境中管理容器、镜像、卷和网络等资源。它提供了一个直观的 Web 界面,使得用户可以方便地进行容器的部署、监控和维护,而无需使用 Docker 命令行工具。