首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
212 阅读
2
麒麟KylinV10离线下载安装包及安装
110 阅读
3
iStoreOS上使用WireGuard
78 阅读
4
UNRAID增加和缩小虚拟机虚拟磁盘大小
50 阅读
5
unraid添加iSCSI 发起程序
39 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
登录
Search
标签搜索
nginx
unraid
PVE
数据库
dockerfile
同步
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
奥黛丽·逐爱者
累计撰写
113
篇文章
累计收到
10
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
页面
Linux常用
docker常用
关于
搜索到
7
篇与
Docker学习
的结果
2025-07-06
Docker容器的配置和管理
https://mp.weixin.qq.com/s/F-yv_vvCO_qMlt_e_iuYlA1、安装Docker1.安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm22.配置docker yum源yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装dockeryum install -y docker-ce4.启动dockersystemctl daemon-reloadsystemctl enable docker --nowsystemctl restart docker图1 docker安装引擎mkdir /etc/docker -psudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": [ "https://docker.credclouds.com", "https://k8s.credclouds.com", "https://quay.credclouds.com", "https://gcr.credclouds.com", "https://k8s-gcr.credclouds.com", "https://ghcr.credclouds.com", "https://do.nark.eu.org", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.1panel.live", "https://docker.rainbond.cc" ], "data-root": "/etc/docker"}EOFsystemctl daemon-reloadsystemctl restart docker图2 配置镜像加速器图3 优化效果验证2、安装Portainer容器可视化管理mkdir -p /usr/local/docker/portainerdocker run -it -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/docker/portainer:/data portainer/portainer图4 安装portainer访问地址:http://10.0.0.100:9000图5 portainer可视化界面图6 创建容器 图7 生命周期管理3、利用Dockerfile新建一个容器新镜像mkdir custom_centos && cd custom_centos# 基础镜像FROM centos:7 # 设置学号变量ARG STUDENT_ID=2024031390 # 1. 更换为阿里云YUM源(解决网络问题)RUN rm -f /etc/yum.repos.d/*.repo && \ curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && \ curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo && \ sed -i 's|^#baseurl|baseurl|g' /etc/yum.repos.d/CentOS-Base.repo && \ sed -i 's|^mirrorlist|#mirrorlist|g' /etc/yum.repos.d/CentOS-Base.repo && \ sed -i 's|//[^/]*/|//mirrors.aliyun.com/|g' /etc/yum.repos.d/CentOS-Base.repo # 2. 安装基础工具(分步执行+错误处理)RUN yum makecache fast && \ yum install -y vim && \ yum install -y openssh-server && \ yum install -y net-tools bind-utils iproute lsof telnet traceroute nc tcpdump wget curl rsync # 3. 配置SSHRUN ssh-keygen -A && \ echo "root:${STUDENT_ID}" | chpasswd && \ sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config && \ sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config # 4. 清理缓存减小镜像大小RUN yum clean all && rm -rf /var/cache/yum # 设置容器入口CMD ["/usr/sbin/sshd", "-D"] # 暴露SSH端口EXPOSE 22docker build -t 2024031390:v1 --build-arg STUDENT_ID=2024031390 .图8 新建新镜像# 启动测试容器docker run -d -p 2222:22 --name test_ssh 2024031390:v1# 测试SSH登录 (密码:2024031390)ssh root@localhost -p 2222# 测试文件传输 (宿主机→容器)echo "hello test" > test.txtdocker cp /root/test.txt test_ssh:/root/# 测试文件传输 (容器→宿主机)docker exec test_ssh touch /root/a.txtdocker cp test_ssh:/root/a.txt ./图9 ssh登陆容器图10 容器和宿主机之间互传文件在node2-2024031390部署harborcurl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgztar xvf harbor-offline-installer-v2.5.0.tgzcd harbor # 修改配置文件cp harbor.yml.tmpl harbor.ymlsed -i 's/hostname: reg.mydomain.com/hostname: node2-2024031390/' harbor.ymlsed -i 's/port: 80/port: 8080/' harbor.yml./install.sh图11 harbor搭建 sudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": [ "https://docker.credclouds.com", "https://k8s.credclouds.com", "https://quay.credclouds.com", "https://gcr.credclouds.com", "https://k8s-gcr.credclouds.com", "https://ghcr.credclouds.com", "https://do.nark.eu.org", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.1panel.live", "https://docker.rainbond.cc" ], "data-root": "/etc/docker", "insecure-registries": ["10.0.0.120:8080"]}EOFsystemctl restart dockerdocker login 10.0.0.120:8080 -u admin -p Harbor12345docker tag 2024031390:v1 10.0.0.120:8080/library/2024031390:v1docker push 10.0.0.120:8080/library/2024031390:v1图12 将镜像推送到Harbor仓库图13 harbor查看镜像4、在node1上新建一个容器,通过与宿主机的端口1000.1001,1002映射分别访问“首页是班级+姓名”的个性化网站、“小鸟飞飞”html5游戏网站和“Nginx默认首页”网站。mkdir -p /home/2024031390/nginx/{sites,conf}mkdir /home/2024031390/nginx/sites/personalcat > /home/2024031390/nginx/sites/personal/index.html <<EOF<!DOCTYPE html><html><head> <title>my site</title></head><body> <h1>I am 2024031390 , welcome to cloud computing class</h1></body></html>EOFmkdir /home/2024031390/nginx/sites/gamecd /home/2024031390/nginx/sites/gameunzip xiaoniaofeifei.zipcat > /home/2024031390/nginx/conf/default.conf <<EOF# 默认网站 (1002端口)server { listen 1002; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; }} # 个人网站 (1000端口)server { listen 1000; server_name localhost; location / { root /usr/share/nginx/personal; index index.html index.htm; }} # 游戏网站 (1001端口)server { listen 1001; server_name localhost; location / { root /usr/share/nginx/game; index index.html index.htm; }}EOFdocker run -d \ --name nginx-multisite \ -p 1000:1000 \ -p 1001:1001 \ -p 1002:1002 \ -v /home/2024031390/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf \ -v /home/2024031390/nginx/sites/personal:/usr/share/nginx/personal \ -v /home/2024031390/nginx/sites/game:/usr/share/nginx/game \ nginx:latest图14 多端口多网站访问实例启动在物理机上打开浏览器测试验证:图15 nginx默认首页图16 个人网站 图17 小鸟飞飞的小游戏5、通过docker-compose编排工具构建并运行一个综合应用程序,至少含有2个关联容器。mkdir wordpresscd wordpressvi docker-compose.ymlversion: '3.8' services: # WordPress 前端服务 wordpress: image: wordpress:latest container_name: wp-app restart: always ports: - "8080:8081" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: Admin@123 WORDPRESS_DB_NAME: wordpress volumes: - wordpress_data:/var/www/html depends_on: - db networks: - app-network # MySQL 数据库服务 db: image: mysql:8.0 container_name: wp-db restart: always environment: MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: Admin@123 MYSQL_ROOT_PASSWORD: Admin@123 volumes: - db_data:/var/lib/mysql networks: - app-network # 定义存储卷volumes: wordpress_data: db_data: # 定义网络networks: app-network: driver: bridgedocker-compose up -ddocker-compose ps图18 容器启动访问应用程序:http://10.0.0.100:8080图19 wordpress站点
2025年07月06日
3 阅读
0 评论
0 点赞
2025-07-06
Docker使用教程和镜像加速
字数 853,阅读大约需 5 分钟安装Docker官方安装脚本:curl -fsSL https://get.docker.com | sh国内一键安装脚本:bash <(curl -sSL https://emohe.cn/docker.sh)手动离线安装Docker下载Docker:• 官方文件下载地址:https://download.docker.com/linux/static/stable/x86_64/• 清华大学下载地址 :https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/解压文件(替换版本号):tar xzvf docker-26.1.3.tgz sudo mv docker/* /usr/local/bin/创建Docker服务文件:sudo vim /etc/systemd/system/docker.service添加以下内容:[Unit]Description=Docker Application Container EngineAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notifyExecStart=/usr/local/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDRestart=alwaysRestartSec=2StartLimitBurst=3StartLimitInterval=60sLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityDelegate=yesKillMode=process[Install]WantedBy=multi-user.target启动并启用Docker服务:sudo chmod +x /usr/local/bin/dockerdsudo systemctl daemon-reloadsudo systemctl start dockersudo systemctl enable docker查看版本:docker -v手动离线安装Docker-compose国内环境手动安装Docker-compose:点这里手动下载文件 上传到服务器的/usr/local/bin目录重命名为docker-compose:sudo cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose增加执行权限:chmod +x /usr/local/bin/docker-compose验证安装:docker-compose --version注意:由于是以二进制文件安装的docker-compose,运行命令需带-,例如:docker-compose up -dDocker Hub 镜像加速国内拉取镜像有时会遇到困难,对于学习或者开发者来说很难受,此时可以配置镜像加速。配置加速地址Ubuntu 16.04+、Debian 8+、CentOS 7+:创建或修改/etc/docker/daemon.json:sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<EOF{ "registry-mirrors": [ "https://docker.xuanyuan.me", "https://docker.xuanyuan.dev" ]}EOF重启服务:sudo systemctl daemon-reloadsudo systemctl restart docker提示:若不方便重启,可在拉取镜像时指定加速地址,示例:docker pull docker.xuanyuan.dev/library/mysql:5.7说明:library代表官方镜像,用户镜像需替换为对应用户名。Docker Desktop 配置对于Windows系统的Docker Desktop用户,点击右上角设置,找到Docker Engine并修改配置,示例:{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "registry-mirrors": [ "https://docker.xuanyuan.me", "https://docker.xuanyuan.dev" ]}点击右下角Apply & restart保存并重启。检查加速是否生效查看docker系统信息:docker info若结果中显示配置的加速地址(如Registry Mirrors下包含https://docker.xuanyuan.me和https://docker.xuanyuan.dev),则配置成功。Docker最新稳定加速源列表提供者镜像加速地址说明加速类型轩辕镜像(专业版)https://docker.xuanyuan.dev付费&稳定&可选国内cdnDocker Hub轩辕镜像(免费版)https://docker.xuanyuan.me免费&无限制Docker Hub华为云https://***.mirror.swr.myhuaweicloud.com需登录分配Docker Hub腾讯云https://mirror.ccs.tencentyun.com仅限腾讯云机器Docker Hub南京大学https://ghcr.nju.edu.cnghcr加速ghcr南京大学https://k8s.nju.edu.cnk8s加速k8sDocker常用命令功能命令说明编译镜像docker build -t 镜像名 .先docker login登录Docker Hub推送镜像docker push 用户名/镜像名需先标记镜像:docker tag 53321f173e 用户名/镜像名查看容器docker ps-a查看包括已停止的容器容器资源占用docker stats查看所有容器资源占用进入容器内部docker exec -it 容器名 sh结尾也可使用/bash创建容器网络docker network create my-networkmy-network为网络名称停止容器docker stop 容器名或ID-启动容器docker start 容器名或ID-删除镜像docker rmi -f 镜像名或ID-清除资源docker system prune清除所有未使用资源(容器、网络、镜像、缓存)
2025年07月06日
3 阅读
0 评论
0 点赞
1
2