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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 框架中的字符串