https://gitee.com/lichenxin/docker-compose-mnprhtml
# 二進制包安裝 curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 爲安裝腳本添加執行權限 chmod +x /usr/local/bin/docker-compose docker-compose --version # bash 補全命令 curl -L https://raw.githubusercontent.com/docker/compose/1.8.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose # 卸載 rm /usr/local/bin/docker-compose # 自動構建鏡像並使用鏡像啓動容器 docker-compose up [-d 後臺啓動] #Docker Compose將所管理的容器分爲三層,分別是工程(project),服務(service)以及容器(container)。 #Docker Compose運行目錄下的全部文件(docker-compose.yml, extends文件或環境變量文件等)組成一個工 #程(默認爲docker-compose.yml所在目錄的目錄名稱)。一個工程可包含多個服務;每一個服務中定義了容器 #運行的鏡像、參數和依賴,一個服務可包括多個容器實例。
# build 配置構建時的選項 build: ./dir build: context: ./dir dockerfile: Dockerfile-alternate args: buildno: 1 # command 覆蓋容器啓動後默認執行的命令 command: bundle exec thin -p 3000 command: [bundle, exec, thin, -p, 3000] # dns 配置dns服務器 dns: 8.8.8.8 dns: - 8.8.8.8 - 9.9.9.9 # dns_search 配置DNS的搜索域名 dns_search: example.com dns_search: - dc1.example.com - dc2.example.com # environment 環境變量設置 environment: RACK_ENV: development SHOW: 'true' SESSION_SECRET: environment: - RACK_ENV=development - SHOW=true - SESSION_SECRET # env_file 從文件中獲取環境變量,可指定一個文件路徑或路徑列表 #經過 docker-compose -f FILE 指定了Compose文件,那麼env_file中的路徑是Compose文件所在目錄的相對路徑 #使用environment指定的環境變量會覆蓋env_file指定的環境變量 env_file: .env env_file: - ./common.env # 共用 - ./apps/web.env # web用 - /opt/secrets.env # 密碼用 # expose 暴露端口,只將端口暴露給鏈接的服務,而不暴露給宿主機 expose: - "3000" - "8000" # external_links 鏈接到docker-compose.yml外部的容器,甚至並不是Compose管理的容器 external_links: - redis_1 - project_db_1:mysql - project_db_1:postgresql # image 指定鏡像名稱或鏡像id,若是本地不存在該鏡像,Compose會嘗試下載該鏡像 image: java8 # links 鏈接到其餘服務的容器。能夠指定服務名稱和服務別名( SERVICE:ALIAS ),也可只指定服務名稱 web: links: - db - db:database - redis services: proxy: build: ./proxy networks: - front https://blog.csdn.net/Kiloveyousmile/article/details/79830810 https://blog.csdn.net/henni_719/article/details/89376111 https://docs.docker.com/compose/compose-file/ networks: default: # Use a custom driver driver: custom-driver-1 # 使用已存在的網絡 external: name: my-pre-existing-network front: # Use a custom driver driver: custom-driver-1 back: # Use a custom driver which takes special options driver: custom-driver-2 driver_opts: foo: "1" bar: "2" # network_mode 設置網絡模式 network_mode: "bridge" network_mode: "host" network_mode: "none" network_mode: "service:[service name]" network_mode: "container:[container name/id]" # ports 暴露端口信息 可以使用HOST:CONTAINER 的格式,也可只指定容器端口(此時宿主機將會隨機選擇端口),相似於docker run -p # 當使用HOST:CONTAINER 格式映射端口時,容器端口小於60將會獲得錯誤的接口,由於yaml會把xx:yy 的數字解析爲60進制。所以,建議使用字符串的形式 ports: - "3000" - "3000-3005" - "8000:8000" - "9090-9091:8080-8081" - "49100:22" - "127.0.0.1:8001:8001" - "127.0.0.1:5000-5010:5000-5010" # volumes 卷掛載路徑設置 能夠設置宿主機路徑 (HOST:CONTAINER) ,也可指定訪問模式 (HOST:CONTAINER:ro) volumes: # Just specify a path and let the Engine create a volume - /var/lib/mysql # Specify an absolute path mapping - /opt/data:/var/lib/mysql # Path on the host, relative to the Compose file - ./cache:/tmp/cache # User-relative path - ~/configs:/etc/configs/:ro # Named volume - datavolume:/var/lib/mysql # volumes_from 從另外一個服務或容器掛載卷。可指定只讀(ro)或讀寫(rw),默認是讀寫(rw)。 volumes_from: - service_name - service_name:ro - container:container_name - container:container_name:rw https://docs.docker.com/compose/compose-file/
http://www.itmuch.com/docker/20-docker-compose-install/
https://yeasy.gitbooks.io/docker_practice/content/compose/introduction.htmljava
docker-compose --help你會看到以下這麼多命令 build 構建或從新構建服務。服務被構建後將會以project_service 的形式標記 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 images List images kill 中止指定服務的容器 docker-compose kill containerId port Print the public port for a port binding docker-compose port eureka 8761 # 輸出eureka服務8761端口所綁定的公共端口 logs View output from containers up Create and start containers 構建、建立|從新建立、啓動,鏈接服務的相關容器 docker-compose up # -d 可在後臺啓動並運行全部容器 ps List containers 列出全部容器 docker-compose ps pull Pull service images 下載服務鏡像 push Push service images pause Pause services restart Restart services rm Remove stopped containers 刪除指定服務的容器 docker-compose rm eureka run Run a one-off command 在一個服務上執行一個命令 docker-compose run web bash scale Set number of containers for a service 設置指定服務運行容器的個數 以service=num的形式指定 docker-compose scale user=3 movie=3 start Start services 啓動指定服務已存在的容器 docker-compose start eureka stop Stop services 中止已運行的容器 docker-compose stop eureka top Display the running processes unpause Unpause services version Show the Docker-Compose version information docker-compose help COMMAND #查看docker-compose build的幫助 docker-compose help build 3.經常使用命令 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容器
version: '2' services: mysql: image: mysql:5.7 expose: - "3306" environment: - MYSQL_ROOT_PASSWORD=123456 wordpress: image: wordpress ports: - "80:80" environment: - WORDPRESS_DB_HOST=mysql - WORDPRESS_DB_USER=root - WORDPRESS_DB_PASSWORD=123456 FROM mysql:5.6 COPY docker-entrypoint.sh /usr/local/bin/ COPY ./sql /sql RUN chmod -R +x /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] EXPOSE 3306 CMD ["mysqld"] FROM centos:latest RUN \ yum update -y && \ yum install -y epel-release && \ yum install -y iproute python-setuptools hostname inotify-tools yum-utils which jq && \ yum clean all && \ easy_install supervisor COPY container-files / RUN chmod +x /config/bootstrap.sh VOLUME ["/data"] ENTRYPOINT ["/config/bootstrap.sh"]
http://www.javashuo.com/article/p-cxkbnmct-bm.html
http://www.javashuo.com/article/p-dpmdczkw-s.html
http://www.javashuo.com/article/p-yhjsswjt-gt.htmlpython
spring cloud 與 docker-compose構建微服務mysql
https://blog.csdn.net/vchy_zhao/article/details/70238432nginx
https://testerhome.com/topics/12768git
http://www.javashuo.com/article/p-qylxvkgv-r.htmlgithub
http://www.javashuo.com/article/p-sorclrmm-bd.htmlweb
https://blog.csdn.net/shen_gang/article/details/40619073
http://www.javashuo.com/article/p-hqcefdoe-cz.html
https://blog.csdn.net/weixin_39332806/article/details/80420411redis
分析Mysql 5.6的Dockerfile
https://yq.aliyun.com/articles/68245
Docker Compose部署lnmp
Docker Compose搭建mysql主從複製
http://www.javashuo.com/article/p-tfmbysjl-r.html
Docker-Compose部署nginx代理Tomcat集羣
Docker Compose部署 nginx代理Tomcat集羣
https://download.csdn.net/download/u011781521/10440466
Docker Compose 運行 Tomcat
http://www.javashuo.com/article/p-qvnfwhvq-r.html
https://github.com/Bigberg/docker
https://blog.csdn.net/zhang__rong/article/details/88697544
http://www.javashuo.com/article/p-hqcefdoe-cz.html
https://blog.csdn.net/weixin_39332806/article/details/80420411