• docker, docker-compose安装和使用


    官方文档:

    安装docker: 

    https://docs.docker.com/install/linux/docker-ce/centos/

    安装docker-compose:

    https://docs.docker.com/compose/install/

    # 所有docker命令映射都是:local:container
    
    # create container
    docker run --name <name> -p 123:123 -d <image> -v local_path:container_path
    
    # if failed, see logs
    docker logs <name/id>
    
    # see how many docker containers
    docker ps -a
    
    # see networks
    docker network ls
    
    # see network detail
    docker network inspect <name/id>
    
    # enter a container
    docker exec -ti <name/id> bash
    
    # start docker after rebooting
    docker start <name/id>
    
    # check status
    docker stats [name/id]
    
    # delete container
    docker rm <name/id>
    
    docker container rm $(docker container ls -a -q)         # Remove all containers
    
    # image
    docker build 
    
    docker image ls -a                             # List all images on this machine
    docker image rm <image id>            # Remove specified image from this machine
    docker image rm $(docker image ls -a -q)   # Remove all images from this machine
    docker login             # Log in this CLI session using your Docker credentials
    docker tag <image> username/repository:tag  # Tag <image> for upload to registry
    docker push username/repository:tag            # Upload tagged image to registry
    docker run username/repository:tag                   # Run image from a registry
    # 4.删除images,通过image的id来指定删除谁
    
    docker rmi <image id>
    
    # 想要删除untagged images,也就是那些id为<None>的image的话可以用
    
    docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
    
    # 要删除全部image的话
    
    docker rmi $(docker images -q)

    docker run 命令解析:
    https://www.runoob.com/docker/docker-run-command.html

    学习:
    https://docs.docker.com/get-started/part3/

    docker-compose.yaml例子

    version: '3'
    services:
        nginx:
            image: nginx:latest
            # 端口映射
            ports:
                - "80:80"
            # 依赖关系 先跑php
            depends_on:
                - "php"
            # 数据卷
            volumes:
                # 映射主机./conf.d目录到容器/etc/nginx/conf.d目录
                - "$PWD/conf.d:/etc/nginx/conf.d"
                - "$PWD/html:/usr/share/nginx/html"
            networks:
                - app_net
            # 容器名称
            container_name: "compose-nginx"
        php:
            build: ./php-mysqli
            # image指定build Dockerfile生成镜像的名称
            image: php:7.2-fpm-mysqli
            ports:
                - "9000:9000"
            volumes:
                - "$PWD/html:/var/www/html"
            networks:
                - app_net
            container_name: "compose-php"
        mysql:
            image: mysql:5.7
            ports:
                - "3306:3306"
            # 环境变量
            environment:
                # mysql密码
                - MYSQL_ROOT_PASSWORD={自己填密码}
            networks:
                app_net:
                    # 固定子网ip,网段必须在子网络10.10.*.*
                    ipv4_address: 10.10.10.1
            container_name: "compose-mysql"
    networks:
        # 配置docker network
        app_net:
            driver: bridge
            ipam:
                config:
                    # 子网络
                    - subnet: 10.10.0.0/16
    docker-compose up
  • 相关阅读:
    负载均衡器部署方式和工作原理
    Android 有关于* daemon not running.starting it now on port 5037 *ADB
    微信开发常用文档及参考资料
    XML解析之sax解析案例(二)使用sax解析把 xml文档封装成对象
    XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
    XML解析之SAX解析过程代码详解
    通过PHP current()函数获取未知字符键名数组第一个元素的值
    PHP检测链接是否是SSL连接 ,也就是判断HTTPS
    PHP反射ReflectionClass、ReflectionMethod 入门教程
    PHP 反射API说明
  • 原文地址:https://www.cnblogs.com/snow-backup/p/11251103.html
Copyright © 2020-2023  润新知