惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
罗磊的独立博客
SecWiki News
SecWiki News
The Register - Security
The Register - Security
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
IT之家
IT之家
博客园 - 聂微东
T
The Exploit Database - CXSecurity.com
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Vercel News
Vercel News
G
GRAHAM CLULEY
D
DataBreaches.Net
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
SegmentFault 最新的问题
博客园_首页
雷峰网
雷峰网
T
Tenable Blog
Spread Privacy
Spread Privacy
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
V
Visual Studio Blog
J
Java Code Geeks
博客园 - Franky
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
C
CERT Recently Published Vulnerability Notes
T
Threatpost
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
T
The Blog of Author Tim Ferriss
V
Vulnerabilities – Threatpost
Recent Announcements
Recent Announcements
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
U
Unit 42
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
K
Kaspersky official blog
有赞技术团队
有赞技术团队
B
Blog
腾讯CDC

博客园 - 泡面 @ 幸福

nodejs&wsl&vscode&docker开发环境搭建 python中list数组指定类型 windows10安装Trading View出错解决办法 windows or linux 64位安装ta-lib包 在centos7开启SSH服务 在centos7升级nodejs到最新版本 一张自画的RBAC用户、组、角色、权限、指令、资源图 JSON树形格式从子级获取所有父级ID JSON数据格式生成无限级树结构 MYSQL查询上级和下级 码云push时提示 DeployKey does not support push code fatal: Could not read from remote repository. git常用命令 thinkjs框架发布上线PM2管理,静态资源访问配置 登陆服务器提示“You need to run "nvm install N/A" to install it before using it.” CentOS 7.x 用shell增加、删除端口 CentOS 7.X 安全手记 Centos 7.x nginx隐藏版本号 centos7磁盘挂载及取消 CentOS 7.4上网速度慢,修改DNS!
Centos7.4 安装Docker
泡面 @ 幸福 · 2018-12-01 · via 博客园 - 泡面 @ 幸福

一、安装docker

二、启动docker服务

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

四、显示docker版本信息

五、显示docker基本信息

六、下载远程镜像

  1、查看远程可用的镜像

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

  2、下载镜像  

docker pull docker.io/centos

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

 七、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