Featured image of post Docker不完全指南

Docker不完全指南

123

docker Desktop安装

硬件/系统/网络要求

  • 64-bit处理器,支持SLAT(Second Level Address Translation)
  • 至少4GB内存
  • BIOS启用硬件虚拟化特性
  • windows 11 64-bit: 家庭版/专业版都要求21H2及以上(win10也可以,不在此讨论)
  • 需要魔法来访问docker hub(或者替换国内registry)

系统设置

按照以下步骤对系统进行设置:

  • 搜索启用或关闭Windows功能,勾选Hyper-V相关选项
  • 以管理员身份运行powershell,执行bcdedit /set hypervisorlaunchtype auto
  • 重启计算机

安装WSL

以管理员身份运行powershell,执行:

1
2
3
wsl --install
wsl --update
wsl --install -d Debian

安装docker desktop

官网(https://www.docker.com)下载最新版本安装即可

docker常用命令

镜像

命令说明示例
docker images查看本地镜像docker images
docker search搜索镜像docker search nginx
docker pull拉取镜像docker pull nginx
docker rmi删除镜像docker rmi nginx
docker save导出镜像docker save nginx > nginx.tar
docker load导入镜像docker load < nginx.tar
docker build构建镜像docker build -t nginx:v1 .

容器

命令说明示例
docker ps查看运行中的容器docker ps
docker ps -a查看所有容器docker ps -a
docker run创建并启动容器docker run -d –name mynginx -p 80:80 nginx
docker start启动容器docker start mynginx
docker stop停止容器docker stop mynginx
docker restart重启容器docker restart mynginx
docker rm删除容器docker rm mynginx
docker exec进入容器docker exec -it mynginx /bin/bash
docker cp复制文件docker cp localfile mynginx:/tmp/
docker logs查看容器日志docker logs mynginx
docker top查看容器内进程docker top mynginx
docker stats查看容器资源使用情况docker stats mynginx
docker inspect查看容器详细信息docker inspect mynginx
docker commit创建镜像docker commit mynginx mynginx:v1
docker export导出容器docker export mynginx > mynginx.tar
docker import导入容器docker import mynginx.tar mynginx:v1

网络

命令说明示例
docker network ls查看网络docker network ls
docker network create创建网络docker network create mynet
docker network inspect查看网络详情docker network inspect mynet
docker network rm删除网络docker network rm mynet
docker network connect连接容器到网络docker network connect mynet mynginx
docker network disconnect断开容器与网络的连接docker network disconnect mynet mynginx

数据卷

命令说明示例
docker volume ls查看数据卷docker volume ls
docker volume create创建数据卷docker volume create myvol
docker volume inspect查看数据卷详情docker volume inspect myvol
docker volume rm删除数据卷docker volume rm myvol
docker volume prune清理无用的数据卷docker volume prune
docker run -v挂载数据卷docker run -d –name mynginx -p 80:80 -v myvol:/usr/share/nginx/html nginx

实践

搭建freeradius服务器

拉取freeradius镜像并运行容器:

1
2
docker pull freeradius/freeradius-server
docker run -d --name freeradius-server -p 1812-1813:1812-1813/udp freeradius/freeradius-server

为apt配置阿里云镜像源,并安装软件:

1
2
3
4
5
sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
apt update
apt-get install -y iproute2
apt-get install -y vim
apt-get install -y tcpdump

freeradius的配置在/etc/freeradius目录下,编辑clients.conf文件,配置客户端:

1
2
3
4
5
client localhost {
    ipaddr = 172.17.0.1
    secret = beta1234
    shortname = beta
}

再编辑users文件,配置用户:

1
2
beta Cleartext-Password := "beta1234"
     Reply-Message := "Welcome to FreeRadius"

退出并重启容器,使配置生效。

freeradius调试日志在/var/log/freeradius目录下,可以tail -f /var/log/freeradius/radius.log实时查看。

链接

最后更新于 Sep 27, 2024 17:45 UTC
本博客已稳定运行
访客统计