docker-compose編排容器

下載安裝

https://github.com/docker/compose/tags
找到對應版本下載到本地,比如1.23版本下的docker-compose-Linux-x86_64

# mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compost
# chmod +x /usr/local/bin/docker-compost
# docker-compose  --version
docker-compose version 1.23.2, build 1110ad01

 

目錄結構

# pwd
/data/docker/docker-compose/LNMP
[root@node LNMP]# tree
.
├── docker-compose.yml
└── Dockerfile
    ├── apps
    │   ├── cmake-2.8.4.tar.gz
    │   ├── libiconv-1.15.tar.gz
    │   ├── mysql-boost-5.7.25.tar.gz
    │   └── php-5.6.40.tar.gz
    ├── conf
    │   ├── index.conf
    │   ├── my.cnf.57
    │   └── nginx.conf
    ├── Dockerfile_Mysql
    ├── Dockerfile_Ngxin
    └── Dockerfile_PHP

 docker-compose文件內容(build方式爲構建鏡像,image方式爲引用現有的鏡像)

version: '2'

services:
        nginx01:
                container_name: nginx01
                restart: always
                depends_on:
                - php01
                - mysql01
#                image: centos/nginx:v1
                build:
                  context: ./
                  dockerfile: Dockerfile/Dockerfile_Ngxin
                ports:
                - 8001:80
                links:
                - php01:php-fpm
                volumes:
                - /data/01:/data
                command: 
                - /sbin/init
                networks:
                - lnmp-out
                - lnmp-in
        php01:
                container_name: php01
                restart: always
                depends_on:
                - mysql01
#                image: centos/php:v1
                build:
                  context: ./
                  dockerfile: Dockerfile/Dockerfile_PHP
                links:
                - mysql01:db
                volumes:
                - /data/01:/data
                command: 
                - /sbin/init
                networks:
                - lnmp-in
        mysql01:
                container_name: mysql01
                restart: always
#                image: centos/mysql:v1
                build:
                  context: ./
                  dockerfile: Dockerfile/Dockerfile_Mysql
                volumes:
                - /data/01:/data
                command: 
                - /sbin/init
                networks:
                - lnmp-in

networks:
        lnmp-in:
        lnmp-out:

docker-compose常用命令:

1.docker-compose.yml未被改名並且在當前目錄下

#docker-compose up -d

2.docker-compose.yml被改名且不在當前目錄下 

# docker-compose -f doc/data/docker/docker-compose/LNMP/ker-compose_lnmp.yml  up -d

 # docker-compose --help

build               Build or rebuild services
bundle              Generate a Docker bundle from the Compose file
config              Validate and view the Compose file
create              Create services
down                Stop and remove containers, networks, images, and volumes
events              Receive real time events from containers
exec                Execute a command in a running container
help                Get help on a command
images              List images
kill                Kill containers
logs                View output from containers
pause               Pause services
port                Print the public port for a port binding
ps                  List containers
pull                Pull service images
push                Push service images
restart             Restart services
rm                  Remove stopped containers
run                 Run a one-off command
scale               Set number of containers for a service
start               Start services
stop                Stop services
top                 Display the running processes
unpause             Unpause services
up                  Create and start containers
version             Show the Docker-Compose version information

 

常用命令:

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容器

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章