Docker常用命令

162 阅读1分钟

基础命令

  1. 查看docker信息

     $ docker info 
    
  2. 搜索镜像

     $ docker search [OPTIONS] TERM
    
  3. 下载镜像

     $ docker pull [OPTIONS] NAME    //下载镜像
    
  4. 提交镜像

     $ docker login
     $ docker push [OPTIONS] NAME[:TAG]    //提交镜像
    
  5. 查看镜像

     $ docker images [OPTIONS]   //Usage
     $ docker images -a          //查看全部镜像
    
  6. 查看容器

     $ docker ps [OPTIONS]   //Usage
     $ docker ps -a          //查看全部容器
    
  7. 删除镜像

     $ docker rmi [OPTIONS] IMAGE [IMAGE...]     //Usage
     $ docker rmi IMAGE       //删除镜像
    
  8. 删除容器

     $ docker rm [OPTIONS] CONTAINER [CONTAINER...]  //Usage
     $ docker rm CONTAINER     //删除容器
    
  9. 容器自启

     $ docker run --restart=always //docker run时使用
     $ docker update --restart=always <CONTAINER ID> //容器正在运行时使用
     $ docker update --restart=no <CONTAINER ID> //容器正在运行时,取消自启动
    

配置项目环境

  1. 运行镜像

     $ docker run --help 
    
     # Usage
     $ docker run [OPTIONS] IMAGE [COMMAND]  //Run a command in a new container
    
     # 参考
     $ docker run IMAGE      //前台挂起,如hello-world
     $ docker run -d IMAGE   //后台运行
     $ docker run
         --name [NAME]       //Assign a name to the container
         -v /home/Docker:/hotyan//映射到宿主机目录/home/Docker
         -p 8888:80           //端口映射
         -d                   //Run container in background and print container ID
         IMAGE                //镜像名
    
  2. [启动|暂停|重启]容器

     $ docker start [OPTIONS] CONTAINER [CONTAINER...]
     $ docker start CONTAINER
    
     $ docker stop [OPTIONS] CONTAINER [CONTAINER...]
     $ docker stop CONTAINER
    
     $ docker restart [OPTIONS] CONTAINER [CONTAINER...]
     $ docker restart CONTAINER
    
  3. 进入容器

     $ docker exec --help
     # Usage
     $ docker exec [OPTIONS] CONTAINER COMMAND   //Run a command in a running container
    
     $ docker exec 
         -it //-i & -t   //OPTIONS
         CONTAINER
         bash    //COMMAND
    
  4. 网络

     $ docker network COMMAND
     Commands:
         connect     //Connect a container to a network
         create      //Create a network
         disconnect  //Disconnect a container from a network
         inspect     //Display detailed information on one or more networks
         ls          //List networks
         prune       //Remove all unused networks
         rm          //Remove one or more networks
    
  5. 查看hosts

     $ cat /etc/hosts
    

docker-compose常用命令

docker-compose.yml同级目录运行:

  1. 构建项目

     $ docker-compose build         
     # Build or rebuild services       
    
  2. 新建并后台运行容器

     $ docker-compose up -d          
     # up: Create and start containers, -d: Run containers in the background
    
  3. 关闭容器

     $ docker-compose stop           
     # Stop running containers without removing them.
    
  4. 启动容器

     $ docker-compose start          
     # Start existing containers.
    
  5. 重启容器

    $ docker-compose restart        
    # Restart running containers.
    

启动基于 docker 的 hyperf + mysql + redis 运行环境

  1. 已存在项目

     $ git clone {Boomdocker-dev}
     $ cd boomdocker-dev
    
  2. 构建项目

     $ docker-compose build  
     => boomdocker-dev      
    
  3. 新建并后台运行容器

     $ docker-compose up -d //同级会生成一个project目录,存放hyperf项目代码
    
  4. 将后端代码clone到project目录下

     $ git clone xxx -b develop
    
  5. 配置后端代码的env

     DB_DATABASE=hyperf
     DB_PASSWORD=boom123456
    
  6. 以bash方式进入hyperf容器

     $ docker exec -it boomdock-dev_hyperf_1 bash
    
  7. 安装依赖

     $ compose install 
    
  8. 第一次需要初始化数据,进入容器项目目录,初始化数据

     $ php bin/hyperf.php migrate
     $ php bin/hyperf.php db:seed
    
  9. 运行监听项目

     $ php watch      
    
  10. 运行前端项目

    $ npm run serve  //=> 访问 http://localhost:9502       
    
  11. (下班)关闭容器

    $ docker-compose stop 
    
  12. (上班)启动容器

    $ docker-compose start
    
  13. 重启容器

    $ docker-compose restart
    
  14. (时不时需要)更新数据库

    $ php bin/hyperf.php migrate:fresh
    $ php bin/hyperf.php db:seed