恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Docker进阶之路(1)
首页
资讯中心
/
Docker进阶之路(1)
Docker进阶之路(1)
发布时间:2026/10/11 2:41:51
一、什么是docker所谓的docker其实是一款容器管理工具。容器可以简单立即为打包Linux文件的一种工具。官网:https://www.docker.com/官方文档:https://docs.docker.com/官方仓库:https://hub.docker.com/二、使用二进制部署docker环境参考链接:https://docs.docker.com/engine/install/binaries/1.下载docker软件包 wget https://download.docker.com/linux/static/stable/x86_64/docker-28.3.0.tgz 2.解压软件包 [rootelk91 ~]# tar xf docker-28.3.0.tgz 3.将docker程序放到PATH环境变量 [rootelk91 ~]# cp docker/* /usr/bin/ [rootelk91 ~]# 4.启动docker服务端 [rootelk91 ~]# dockerd 5.客户端测试验证 [rootelk91 ~]# docker version Client: Version: 28.3.0 API version: 1.51 Go version: go1.24.4 Git commit: 38b7060 Built: Tue Jun 24 15:43:00 2025 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 28.3.0 API version: 1.51 (minimum version 1.24) Go version: go1.24.4 Git commit: 265f709 Built: Tue Jun 24 15:44:17 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.7.27 GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da runc: Version: 1.2.6 GitCommit: v1.2.6-0-ge89a299 docker-init: Version: 0.19.0 GitCommit: de40ad0 [rootelk91 ~]# 6.卸载docker环境 [rootelk91 ~]# kill ps -ef | grep dockerd | grep -v grep |awk {print $2} [rootelk91 ~]# [rootelk91 ~]# for pkg in containerd containerd-shim-runc-v2 ctr docker dockerd docker-init docker-proxy runc;do rm -f /usr/bin/$pkg ;done [rootelk91 ~]# [rootelk91 ~]# rm -rf /var/lib/docker/ [rootelk91 ~]#三、docker管理镜像的相关命令拉取镜像docker pull 镜像导入镜像docker load -i 镜像docker load 镜像导出镜像docker image save -o 压缩包 本地镜像删除镜像docker image rm -f 镜像docker image rm -f 镜像id基于镜像id删除所有镜像docker image rm -f docker image ls -q为镜像打标签docker image tag 镜像 标签四、docker管理容器的相关命令查看容器列表docker container ps -adocker container ls -adocker psdocker ps -a直接运行容器docker container run --name xiuxian -p 100:80 registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1在后台运行容器-d创建容器docker container create --name xiuxian -p 100:80 registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1启动容器docker container start xiuxian停止容器docker container stop xiuxian删除容器docker container rm xiuxian删除所有容器docker rm -f docker ps -a修改容器名称docker rename xiuxian xiuxian1和容器交互docker exec -it xiuxian sh五、故障排查logs命令实时查看容器日志docker logs -f xiuxian查看最近20分钟的日志docker logs -f --since 20m xiuxian查看10分钟之前的日志docker logs -f --until 10m xiuxiancp命令将宿主机文件拷贝到容器中docker cp /etc/hosts xiuxian:/将容器文件拷贝到宿主机中docker cp xiuxian:/docker-entrypoint.sh /tmp六、容器的4种重启策略概念所谓的重启策略指的是容器在退出时是否重新启动4种重启策略no 不自动重启容器如果挂了就彻底停止always 总是重启只要容器停止docker都会重启它on-failure 错误退出时重启只有容器非正常退出时才重启unless-stopped 除非手动停止否则重启正常退出会重启手动停止退出后不会重启七、docker的单机网络类型bridge桥接网络 默认模式docker会创建一个虚拟交换机docker0容器通过它内部互相通信需要对外提供服务时需要对外暴露端口# 运行一个Nginx容器映射宿主机8080端口到容器的80端口docker run -d --name my_nginx -p 8080:80 nginxhost主机网络直接共享宿主机网络容器直接使用宿主机网络容器端口直接暴露在宿主机上无需-p映射# 容器直接使用宿主机的80端口docker run -d --networkhost nginxnone无网络容器没有网络接口只有本地会还地址127.0.0.1container共享其他容器网络新容器共享指定容器的网络自定义bridge网络创建[rootelk91 ~]# docker network create -d bridge --subnet 172.20.0.0/16 --ip-range 172.20.100.0/24 --gateway 172.20.0.254 tes 查看网络信息 docker network inspect test 创建网络并指定自定义网络: 自动分配 [rootelk91 ~]# docker run --name c1 -d --network test registry.cn-hangzhou.aliyuncs.com/jie-k8s/apps:v1 指定分配ip [rootelk91 ~]# docker run --name c3 -d --network test --ip 172.20.200.200 registry.cn-hangzhou.aliyuncs.com/jie-k8s/apps:v1