【云原生】-如何离线安装Docker及常用命令
📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
文章目录
- 前言
-
- ⛳️ 1. Docker卸载
- ⛳️ 2. Docker二进制部署
-
- ✨ 2.1 下载二进制包
- ✨ 2.2 二进制安装
- ⛳️ 3. Docker存储位置
- ⛳️ 4. Docker常用命令
前言
本文讲解了,如何干净的删除Docker及离线部署Docker,并总结了安装过程的问题点并给出了处理对策
⛳️ 1. Docker卸载
[root@jeames ~]# yum list installed | grep docker
[root@jeames ~]# yum remove docker-ce-cli.x86_64 -y
[root@jeames ~]# rm -rf /var/lib/docker
⛳️ 2. Docker二进制部署
✨ 2.1 下载二进制包
官方不建议此种部署方式,主因为不能自动更新,在条件有限制的情况下使用。
二进制安装参考网址:https://docs.docker.com/engine/install/binaries/
📢📢📢 https://www.docker.com/
https://download.docker.com/linux/static/stable/
#确定系统内核,下载对应版本,这里我们找最新的二进制包
[root@jeames ~]# uname -r
3.10.0-514.el7.x86_64
✨ 2.2 二进制安装
📢📢📢 解压下载的文件
tar -xvzf docker-20.10.17.tgz
📢📢📢 复制二进制文件到bin目录
[root@jeames ~]# cp docker/* /usr/bin/
📢📢📢 启动Docker
[root@jeames ~]# systemctl start docker
Unit docker.service could not be found.
此时报错了,如果是类似的情况,缺少docker.socket导致,按照如下方法解决:
## 创建一个docker.socket文件cat > /usr/lib/systemd/system/docker.service <<EOF[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target [Service]Type=notifyExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=infinityLimitNPROC=infinityTimeoutStartSec=0Delegate=yesKillMode=processRestart=on-failureStartLimitBurst=3StartLimitInterval=60s [Install]WantedBy=multi-user.targetEOF## 启动dockerd服务进程systemctl daemon-reloadsystemctl start dockersystemctl enable dockersystemctl status docker
📢📢📢 确认是否可以使用docker客户端命令
[root@jeames ~]# which docker
📢📢📢 docker客户端版本查看
[root@jeames ~]# docker versionClient: Version: 20.10.17 API version:1.41 Go version: go1.17.11 Git commit: 100c701 Built: Mon Jun 6 22:56:42 2022 OS/Arch: linux/amd64 Context: default Experimental: trueServer: Docker Engine - Community Engine: Version: 20.10.17 API version: 1.41 (minimum version 1.12) Go version:go1.17.11 Git commit:a89b842 Built: Mon Jun 6 23:01:45 2022 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.6.6 GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1 runc: Version: 1.1.2 GitCommit: v1.1.2-0-ga916309f docker-init: Version: 0.19.0 GitCommit: de40ad0
⛳️ 3. Docker存储位置
默认情况下 Docker的存放位置为:/var/lib/docker
可以通过命令查看具体位置:docker info | grep “Docker Root Dir”
首先停掉 Docker 服务:
systemctl stop docker
然后移动整个/var/lib/docker 目录到目的路径
mkdir -p /root/data
mv /var/lib/docker /root/data/docker
ln -s /root/data/docker /var/lib/docker --快捷方式
⛳️ 4. Docker常用命令
docker ps --查询容器docker rm -f ***** --删除容器(可以删除多个)docker rmi mysql:1.0 --删除镜像docker images --镜像docker images | grep centos --查询镜像镜像可以导入,也可以导入,用于生产环境docker cp ***** centos7.8:/ --把宿主机的文件拷贝到docker容器中docker stop centos7.8 --停止容器systemctl restart docker --重启所有的dockerdocker search ubuntu --查询是否有镜像docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" --格式化查询docker network connect *** MHA-MES-Master1-ip131 --添加指定的网卡 --拷贝容器的内容到宿主机docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt docker ps | grep -i mh --过滤查询如果创建时未指定 --restart=always ,可通过update 命令:docker update --restart=always centos7.8--查看所有容器内ipdocker inspect --format='{{.NetworkSettings.IPAddress}}' $(docker ps -a -q)