Docker全网最具体的安装步调及基本命令
第一部分 基础情况设置以及安部署1. Linux基础设置
关闭SELinux
# 修改设置文件
# SELINUX=disabled关闭防火墙
# 制止并禁用防火墙
# systemctl stop firewalld
# systemctl disable firewalld# 查看防火墙状态
# sudo firewall-cmd --state安装Docker所需依赖
# yum install wget yum-utils device-mapper-persistent-data lvm2 bridge-utils -y# 如果系统为9以上的版本,bridge-utils需要手动下载,安装
# 说明:bridge-utils这个包是用来查看docker网络的
# wget -O bridge-utils-1.7.1-3.el9.x86_64.rpm https://mirrors.aliyun.com/epel/9/Everything/x86_64/Packages/b/bridge-utils-1.7.1-3.el9.x86_64.rpm?spm=a2c6h.25603864.0.0.7ffe476dlMkW3E下载阿里云的软件源文件
# 请先备份系统默认yum源,如果是9以下的版本,注意替换数值,然后请执行如下命令,9以上的请跳过该步调
# mv /etc/yum.repo.d/*.repo /media
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo替换为开源的(由于默认的docker是收费的,我们替换为社区免费版)
# sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo更新yum缓存并安装基础工具
# yum clean all && yum makecache
# yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel2. 开启Linux内核的流量转发功能
查看CentOS内核版本
# uname -r开启流量转发
# cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward = 1
EOF# 加载修改内核的参数
# modprobe br_netfilter
# sysctl -p /etc/sysctl.d/docker.conf3. 利用yum快速安装Docker
查看可用的Docker版本
# yum list docker-ce --showduplicates | sort -r安装指定版本的Docker
# yum install docker-ce-24.0.7 -y设置镜像加速器
# 对于Docker客户端版本大于1.10.0的用户,可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
# sudo mkdir -p /etc/docker
# 阿里云镜像加速器地址,从阿里云控制台获取
# sudo tee /etc/docker/daemon.json <<'EOF'
{
"registry-mirrors": ["https://3544er7r.mirror.aliyuncs.com"]
}
EOF错误处置惩罚
# 如果遇到安装错误,请先卸载旧版本的Docker组件
# yum remove -y docker \
docker-client \
docker-client-latest \
docker-latest \
docker-common \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# 删除所有旧的数据
#rm -rf /var/lib/docker && rm -rf /usr/bin/docker4.安装 docker-compose
# 建议提前下载,在线下载很慢
# curl -L "https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-$(uname -s)-$(uname -m)"
# cp docker-compose-linux-x86_64 docker-compose
# chmod +x docker-compose
# cp docker-compose /usr/local/bin && ln -s /usr/local/bin/docker-compose /usr/bin设置Docker开机自启动并重启服务
# systemctl enable docker
# systemctl restart docker查看Docker版本
# docker version # docker 详情
# docker -v # docker版本号
# docker-compose -v # docker-compose版本号
Docker Compose version v2.27.1测试
# 如果没有报错,证明安装成功
# docker pull hello-world
# docker imagesDocker服务的启停
# sudo systemctl daemon-reload
# sudo systemctl start docker # 启动
# sudo systemctl stop docker # 停止第二部分 docker的具体使用
1. 镜像搜索、拉取、删除
# 镜像仓库名/镜像名:标签 (注意:我们一般情况选择官方镜像OFFOCIAL【OK】的,在删除的时候尽量不要加-f参数,否则可能会把正在运行的容器给删掉)
# docker search hello-world
# docker search 参数介绍
--limit 3:只查询前3条
--no-trunc:完整的描述信息,如果描述信息过长,会用…展示
# docker search hello-world --limit 3
# docker search hello-world --limit 3 --no-trunc
# docker pull hello-world# 拉取镜像
# docker images # 查看已经拉取到的镜像
# docker image list# 查看已经拉取到的镜像
# docker rmi hello-world # 删除镜像
# docker rmi -f $(docker ps -aq) # 批量删除镜像2. 容器命令的常见参数
├── 基本语法
│ ├── IMAGE: 指定要使用的镜像
│ ├── COMMAND: 覆盖镜像中的默认命令
│ └── ARG...: 传递给命令的参数
├── 运行方式
│ ├── -d: 后台运行容器
│ ├── -i: 以交互模式运行容器
│ └── -t: 为容器分配一个伪终端
├── 端口映射
│ ├── -P: 随机端口映射
│ └── -p: 指定端口映射
├── 容器命名
│ └── --name: 为容器指定名称,标识容器,方便管理和操作
├── 容器管理
│ ├── --rm: 容器停止后自动删除,自动清理容器,节省资源
│ └── -v 或 -volume: 挂载主机目录到容器,数据持久化,挂载主机目录到容器
├── 网络配置
│ └── -dns: 设置DNS服务器
├── 环境设置
│ ├── -e: 设置环境变量
│ └── -h: 指定容器hostname
├── 权限和性能
│ ├── --privileged: 容器内使用真正root权限
│ └── -u: 指定用户身份创建容器
├── 自动重启策略
│ └── --restart: 设置容器自动重启策略
├── 其他选项
├── -link: 添加链接到其他容器
├── --expose: 开放一个端口或一组端口
└── -it: 组合使用提供交互式体验
# 例如:我们启动一个容器名称为nginx,端口映射为8080,80为容器端口,最后一个nginx为镜像名称
# docker run -d --name nginx -p 8080:80 nginx3. 启动容器、关闭容器、删除容器
启动(注意:启动时,端口,容器别名不能重复)
# 启动(后台)
# docker run -d --name nginx -p 8080:80 nginx
# 进入容器
# docker exec -it nginx /bin/bash
# 启动并进入容器
# docker run -it --name nginx1 -p 80:80 nginx /bin/bash制止
# 语法:docler stop/kill 运行时镜像别名/运行镜像的ID
# docker stop nginx
# docker kill nginx检查容器状态
# docker ps -a # 容器异常(命令错误或者容器已停止退出)
# docker ps # 正常运行的容器删除
# 删除容器时,要么加-f强制删,要么先停止,再删除,否则会报错
# docker rm nginx # 不能删除正在运行的容器,建议这种方式
# docker container prune -f# 删除所有已退出的容器
# 正式环境不允许,会把正在运行的容器给删除
# docker rm -f nginx # 不建议4. 批量删除
# 批量删除容器
# docker rm -f $(docker ps -aq)
# 批量删除镜像
# docker rmi -f $(docker images -q)5. 实行(运行nginx并访问)
# 运行容器
# docker run -d --name nginx -p 8090:80 nginx
# 用浏览器访问测试6. Docker 网络
# Docker 默认会创建三块网卡,容器默认使用桥接模式
# docker network ls# 查看Docker虚拟网卡
# 查看容器主机信息
# docker exec -it nginx hostname -i
# docker inspect nginx
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]