docker安装配置及基础使用
1.docker官方文档地址:https://docs.docker.com/engine/install/centos/
2.使用国内阿里云源安装最新版docker-ce
卸载旧版本docker:yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 安装docker源:yum install -y yum-utils && yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装docker-ce:yum install -y docker-ce
3.验证docker安装是否成功:docker version
4.启动docker:systemctl start docker.service
5.设置开机自动启动:systemctl enable docker.service
6.配置docker国内加速器【注册阿里云账号到容器服务即可以拿到此地址】:vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] } 重启生效:systemctl restart docker.service
===========================================================修改docker工作目录,避免占满/磁盘===========================================================
1.停止docker服务
systemctl stop docker
2.创建新的docker目录,执行命令df -h,找一个大的磁盘。 我在 /data目录下面建了 /data/docker/lib目录
mkdir -p /data/docker/lib
3.迁移/var/lib/docker目录下面的文件到 /data/docker/lib
rsync -avz /var/lib/docker /data/docker/lib/
4.配置 /etc/systemd/system/docker.service.d/devicemapper.conf。查看 devicemapper.conf 是否存在。如果不存在,就新建
mkdir -p /etc/systemd/system/docker.service.d/ vim /etc/systemd/system/docker.service.d/devicemapper.conf
[Service] ExecStart= ExecStart=/usr/bin/dockerd --data-root=/data/docker/lib/docker
5.重新加载 docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
6.命令检查Docker 的根目录
docker info Docker Root Dir: /data/docker/lib/docker
7.启动成功后,再确认之前的镜像还在,再删除/var/lib/docker/目录中的文件
===========================================================修改docker工作目录,避免占满/磁盘===========================================================
===========================================================开启docker的外部访问===========================================================
1 | 注意:将 Docker 守护进程暴露在未加密的端口上可能会导致安全风险,请谨慎使用。建议使用云安全组限制访问ip |
1. 修改配置文件 /etc/docker/daemon.json
1 2 3 4 | { "registry-mirrors" : [ "https://b9pmyelo.mirror.aliyuncs.com" ], "hosts" : [ "unix:///var/run/docker.sock" , "tcp://0.0.0.0:2375" ] } |
2. 重新加载 docker
1 2 | systemctl daemon-reload systemctl restart docker |
3. 外部连接docker
1 | docker -H tcp: //ip 地址:2375 info |
===========================================================开启docker的外部访问===========================================================
===========================================================下面是常用实例===========================================================
1.查找镜像仓库可用的镜像:docker search nginx
2.从镜像仓库下载一个镜像:docker pull nginx
3.查看本地镜像库:docker images
4.删除一个未运行容器的镜像:docker rmi nginx 或者 docker image rm nginx
删除所有的容器:docker rm -f $(docker ps -qa)
-a:查看所有容器,包含退出的
-q:列出所有的容器id
5.删除全部镜像:docker image rm -f $(docker image ls -qa)
6.运行一个nginx容器:docker run -it -d --restart=always --name=nginx_8080 -p 8080:80 -v /data/nginx_8080:/usr/share/nginx/html -m 500m --cpus=1 nginx
-it -d:分配一个伪终端在后台运行容器 --restart=always:容器退出时自动重启 --name:指定容器名称 -p 8080:80:映射容器端口80到宿主机端口8080 -v /data/nginx_8080:/usr/share/nginx/html:将 容器/usr/share/nginx/html目录 挂载到 宿主机/data/nginx_8080目录【宿主机目录会自动创建】 -m 500m:限制内存 --cpus=1:限制cpu使用数量
测试访问:http://10.200.202.83:8080/
7.查看正在运行的容器:docker ps
显示所有的容器:docker ps -a
显示最新创建的容器:docker ps -l
8.进入容器执行指令:docker exec -it ef1da754d15a /bin/bash
测试访问:http://10.200.202.83:8080/
9.直接对容器执行一个指令:docker exec -it ef1da754d15a ls /usr/share/nginx/html/
docker exec -it ef1da754d15a cat /usr/share/nginx/html/index.html
10.导出一个镜像到归档文件,迁移镜像时可用:docker save nginx -o nginx.tar.gz
11.删除一个正在运行的容器:docker rm -f dc9d7cbc06aa
12.从归档文件导入一个镜像:docker load -i nginx.tar.gz
13.拷贝一个文件到容器:docker cp /root/anaconda-ks.cfg 223f73ef996e:/usr/share/nginx/html/
14.查看容器的日志输出:docker logs 223f73ef996e -f -n10
16.移除所有已停止的容器:docker container prune
17.查看容器的端口:docker port nginx_8080
18.查看容器运行的进程:docker top nginx_8080
19.显示容器资源使用统计:docker stats --all nginx_8080
不循环输出:docker stats --all nginx_8080 --no-stream
做筛选统计:docker stats nginx_8080 --no-stream | awk 'NR==2{print $3}' #取cpu使用情况,打印第二行
一些事情一直在干,说不定以后就结果了呢
本文来自博客园,作者:chenjianwen,转载请注明原文链接:https://www.cnblogs.com/chenjw-note/p/15091668.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2016-08-02 MySQL性能测试工具之mysqlslap
2016-08-02 VNC跨平台远程桌面的安装与使用