148 lines
No EOL
3.4 KiB
Markdown
148 lines
No EOL
3.4 KiB
Markdown
常用命令
|
||
```
|
||
docker-compose up -d nginx 构建建启动nignx容器
|
||
|
||
docker-compose exec nginx bash 登录到nginx容器中
|
||
|
||
docker-compose down 删除所有nginx容器,镜像
|
||
|
||
docker-compose ps 显示所有容器
|
||
|
||
docker-compose restart nginx 重新启动nginx容器
|
||
|
||
docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
|
||
|
||
docker-compose build nginx 构建镜像 。
|
||
|
||
docker-compose build --no-cache nginx 不带缓存的构建。
|
||
|
||
docker-compose logs nginx 查看nginx的日志
|
||
|
||
docker-compose logs -f nginx 查看nginx的实时日志
|
||
|
||
|
||
|
||
docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。
|
||
|
||
docker-compose events --json nginx 以json的形式输出nginx的docker日志
|
||
|
||
docker-compose pause nginx 暂停nignx容器
|
||
|
||
docker-compose unpause nginx 恢复ningx容器
|
||
|
||
docker-compose rm nginx 删除容器(删除前必须关闭容器)
|
||
|
||
docker-compose stop nginx 停止nignx容器
|
||
|
||
docker-compose start nginx 启动nignx容器
|
||
```
|
||
|
||
## yaml官方示例解析
|
||
```
|
||
version: "3.7"
|
||
services:
|
||
|
||
## 使用已有镜像redis:alpine
|
||
redis:
|
||
image: redis:alpine
|
||
ports:
|
||
- "6379"
|
||
networks:
|
||
- frontend
|
||
deploy:
|
||
replicas: 2
|
||
update_config:
|
||
parallelism: 2
|
||
delay: 10s
|
||
restart_policy:
|
||
condition: on-failure
|
||
|
||
db:
|
||
image: postgres:9.4
|
||
volumes:
|
||
- db-data:/var/lib/postgresql/data
|
||
networks:
|
||
- backend
|
||
deploy:
|
||
placement:
|
||
constraints: [node.role == manager]
|
||
|
||
vote:
|
||
image: dockersamples/examplevotingapp_vote:before
|
||
ports:
|
||
- "5000:80"
|
||
networks:
|
||
- frontend
|
||
depends_on:
|
||
- redis
|
||
deploy:
|
||
replicas: 2
|
||
update_config:
|
||
parallelism: 2
|
||
restart_policy:
|
||
condition: on-failure
|
||
|
||
result:
|
||
image: dockersamples/examplevotingapp_result:before
|
||
ports:
|
||
- "5001:80"
|
||
networks:
|
||
- backend
|
||
depends_on:
|
||
- db
|
||
deploy:
|
||
replicas: 1
|
||
update_config:
|
||
parallelism: 2
|
||
delay: 10s
|
||
restart_policy:
|
||
condition: on-failure
|
||
|
||
worker:
|
||
image: dockersamples/examplevotingapp_worker
|
||
networks:
|
||
- frontend
|
||
- backend
|
||
deploy:
|
||
mode: replicated
|
||
replicas: 1
|
||
labels: [APP=VOTING]
|
||
restart_policy:
|
||
condition: on-failure
|
||
delay: 10s
|
||
max_attempts: 3
|
||
window: 120s
|
||
placement:
|
||
constraints: [node.role == manager]
|
||
|
||
visualizer:
|
||
image: dockersamples/visualizer:stable
|
||
ports:
|
||
- "8080:8080"
|
||
stop_grace_period: 1m30s
|
||
volumes:
|
||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||
deploy:
|
||
placement:
|
||
constraints: [node.role == manager]
|
||
|
||
networks:
|
||
frontend:
|
||
backend:
|
||
|
||
volumes:
|
||
db-data:
|
||
|
||
```
|
||
### 说明:
|
||
#### 容器不仅可以使用已有的镜像构建,还可以使用Dockerfile
|
||
```
|
||
## Dockerfile所在目录,可以是相对路径,也可以是绝对路径
|
||
build: /path/to/dir
|
||
build: ./dir
|
||
build:
|
||
context: ../
|
||
dockerfile: path/of/Dockerfile
|
||
```
|
||
|
||
#### |