Centos7.4 安装Docker

一、安装docker

1
yum install -y docker

二、启动docker服务

1
systemctl start docker

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

1
systemctl enable docker

四、显示docker版本信息

1
docker version

五、显示docker基本信息

1
docker info

六、下载远程镜像

  1、查看远程可用的镜像

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

  2、下载镜像  

1
docker pull docker.io/centos

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

1
docker images

 七、docker平台基本使用方法

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

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

  2、在后台运行container

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

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

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

  4、查看运的容器实例

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

  5、杀死运的容器进程

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

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

1
2
3
4
5
6
启动: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"<br>      docker run -d -it -p 3000:3000 --privileged aipeli/node:v2 /usr/sbin/init

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

1
docker kill $(docker ps -q)

  8、删除已停止的容器

1
2
3
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
2
3
4
5
6
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网络设置

1
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

1
2
3
4
5
6
7
8
9
10
11
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
2
3
4
5
6
7
8
9
10
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 @   泡面 @ 幸福  阅读(653)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2005-12-01 .NET 框架中的字符串
点击右上角即可分享
微信分享提示