Centos7.4 安装Docker

一、安装docker

yum install -y docker

二、启动docker服务

systemctl start docker

三、设置成开机启动docker服务

systemctl enable docker

四、显示docker版本信息

docker version

五、显示docker基本信息

docker info

六、下载远程镜像

  1、查看远程可用的镜像

docker search centos
docker search node      //查看安装好node的镜像

  2、下载镜像  

docker pull docker.io/centos

  3、查看已下载的镜像列表

docker images

 七、docker平台基本使用方法

  1、运行一个container 并加载镜像centos,运行起来这个实例后,在实例中执行/bin/bash

docker run -it docker.io/centos:latest /bin/bash
  -i 以交互模式运行容器
  -t 为容器重新分配一个伪输入终端

  2、在后台运行container

docker run -d docker.io/centos:latest bash -c "while true; do echo hello world; sleep 1; done"
    -d 后台运行容器,并返回容器ID
    -c 后面跟待完成的命令

  3、从一容器中取日志,查看输出的内容

docker logs 容器实例的Name/ID
docker logs 518500e80156

  4、查看运的容器实例

docker ps          //查看正在运行的实例
docker ps -a     //查看所有实例,包括正在运行的,或退出的

  5、杀死运的容器进程

docker kill  容器实例的Name/ID
docker kill  518500e80156

  6、启动、停止、重启、进入、删除container容器实例

启动:docker run -it docker.io/centos:latest /bin/bash
停止:docker stop  518500e80156
重启:docker start 518500e80156
进入:docker exec -it 518500e80156 /bin/bash
删除:docker rm 518500e80156    //-f参数可以强制删除包括正在运行的实例
带参数启动:docker run -ti -d -p 8088:80 -v /www/docker/api:/api docker.io/centos:node bash -c "node /www/index.js"
      docker run -d -it -p 3000:3000 --privileged aipeli/node:v2 /usr/sbin/init

  7、杀掉所有正在运行的容器

docker kill $(docker ps -q)

  8、删除已停止的容器

docker rm  ·docker ps -a -q·
docker rmi $(docker images -q)  //删除所有镜像,小心使用!
docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs docker rm   //删除老的(一周前创建)容器

  9、设置、查看容器IP地址

        1)、创建自定义网络
            docker network create --subnet=172.18.0.0/16 nodesubnet #创建子网掩码
            docker run -itd --network nodesubnet --ip 172.18.0.10 docker.io/centos:node /bin/bash  #设置容器IP
        2)、查看容器IP
            yum install net-tools -y  #安装net-tools
            ifconfig   #查看容器IP信息

  10、利用Niginx做反向代理

    1)、配置docker网络设置

docker run -itd -v /www/docker/api:/www docker.io/aipeli/node:v1 bash -c "node /www/index.js"

    2)、配置nginx虚拟主机

      *以宝塔管理为例:创建配置文件/www/server/panel/vhost/nginx/docer.conf

server {
    listen      80;
    server_name www.xxx.com xxxx.com;
    location / {
       proxy_pass http://172.17.0.3:80;
      }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

  11、修改已运行的container的配置

1、查看容器Id全称
    # docker inspect 70529c1909e6 | grep Id
 "Id":"70529c1909e6aa0a3beefad2ef61ee266d5d86164813940a7a361b49d6d7de14"
2、进入容器配置目录
   #/var/lib/docker/containers
   #cd 70529c1909e6aa0a3beefad2ef61ee266d5d86164813940a7a361b49d6d7de14
3、修改配置文件
config.v2.json hostconfig.json

网络修改,参见:https://blog.csdn.net/u011241780/article/details/79457876

  12、保存container实例当前状态到镜像image,并提交到hub.docker.com或阿里云私有仓库

 

1、退出容器(container): 
  # exit
2、停止容器: 
  # docker stop  518500e80156
3、登陆服务器: 
  # docker login
4、将容器打包成image
  # docker commit 518500e80156 aipeli/node:v2
5、上传到服务器:
  # docker push aipeli/node:v2

 

posted @ 2018-12-01 14:52  泡面 @ 幸福  阅读(604)  评论(0编辑  收藏  举报