广西地矿建设集团网站,十大网站建设公司排名,搭建平台畅通渠道,网站策划案范文Docker简介 Docker 是一个开源的应用容器引擎#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker组成部分#xff1a; 镜…Docker简介 Docker 是一个开源的应用容器引擎让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker组成部分 镜像Image仓库Repository容器(Container 准备工作 我这里使用CentOS 8Linux内核 4.18 官方说至少需要3.8及以上内核关于CentOS 8如何安装请移至该文章CentOS 8虚拟机安装配置 [rootlocalhost ~]# uname -a
Linux localhost.localdomain 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 15:14:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux若已经安装完成请接着往下看 关闭防火墙
systemctl stop firewalld.service禁用防火墙自启动
systemctl disable firewalld.service查看防火墙状态
systemctl status firewalld.service设置yum源 注意在 2022 年1月31日CentOS 团队从官方镜像中移除 CentOS 8的所有包。 直接使用yum下载会出现ERROR:Cannot prepare internal mirrorlist: No URLs in mirrorlist 故需要设置yum源否则无法提供下载。 备份所有repo文件
rename .repo .repo.bak /etc/yum.repos.d/*.repo下载最新repo文件 具体请参照CentOS镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo重新创建缓存
yum clean all yum makecache安装dnf(不使用dnf跳过) dnf是新一代的rpm软件包管理器。 # 安装dnf
yum install dnf -y问题如果在使用CentOS 8及其以上版本出现无法安装问题时则执行下面两条命令(没有问题则不需要执行) dnf --disablerepo * --enablerepoextras swap centos-linux-repos centos-stream-repos -y
dnf distro-sync卸载历史版本 这是可以省略的步骤主要是为了防止之前已经安装过旧版本的Docker而导致的不可控错误 dnf remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce
# yum remove docker \
# docker-client \
# docker-client-latest \
# docker-common \
# docker-latest \
# docker-latest-logrotate \
# docker-logrotate \
# docker-selinux \
# docker-engine-selinux \
# docker-engine \
# docker-ce设置本地镜像源 源地址 中央仓库yum-config-manager –add-repo http://download.docker.com/linux/centos/docker-ce.repo 阿里仓库yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装yum工具包及Docker存储驱动的依赖包
dnf install device-mapper-persistent-data lvm2 -y
# yum install yum-utils device-mapper-persistent-data lvm2 -y设置Docker镜像源
dnf config-manager --add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装Docker Docker从17.03版本之后分为CECommunity Edition: 社区版和EEEnterprise Edition: 企业版。相对于社区版本企业版本强调安全性但需付费使用。这里我们使用社区版本即可。 查看已添加的Docker软件源
dnf list docker-ce
# yum list docker-ce查看所有仓库中所有docker版本
# 查看所有仓库中所有docker版本并选择特定版本安装
dnf list docker-ce --showduplicates | sort -r
# yum list docker-ce --showduplicates | sort -r安装Docker
dnf install docker-ce --nobest -y
# yum install docker-ce --nobest -y# 指定版本号安装
# dnf install docker-ce-[version] --nobest -y
# yum install docker-ce-[version] --nobest -y启动Docker
# 启动docker
systemctl start docker
# 关闭docker
systemctl stop docker配置镜像加速器 具体请参操Docker镜像加速器 sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json -EOF
{registry-mirrors: [https://uy35zvn6.mirror.aliyuncs.com]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart dockerDocker基本操作 Docker仓库DockerHUb 通过 本地构建 获取镜像
docker build -t [image-name:tag] [dir]通过 docker服务器 获取镜像
docker pull查看镜像
docker images删除镜像
docker rmi [images:tag/id]推送镜像到服务器
docker push镜像打包 path打包镜像地址 images:tag镜像名称 docker sav -o [path] [image-name:tag]镜像加载 file需要加载的文件 q不显示日志 docker load -i -q [file]Docker容器操作
运行
docker run运行到停止
docker stop停止到运行
docker start暂停
docker pause恢复
docker runpause查看所有运行容器及状态
docker ps进入容器执行命令 mn需要进入的容器名 bashlinux终端交互命令 docker exec -it mn bash查看容器运行日志
docker logs删除指定容器
docker rmDocker数据卷操作 COMMAND create 创建volumeinspect 显示一个或多个volume信息ls 列出所有volumeprune 删除未使用的volumerm 删除一个或多个指定的volume docker volume[COMMAND]自定义镜像(DockerFile)
常见指令
指令说明FROM指定基础镜像ENV设置环境变量COPY拷贝本地文件到镜像指定目录RUN执行Linux的shell命令 一般指安装过程EXPOSE指定容器运行时的监听窗口 使用者查看ENTRYPOINT镜像应用的启动命令 容器运行时调用
更多请参照DockerFile
DockerCompose 使用compose文件(.yml)进行集群配置 具体请参照Compose File 安装DockerCompose
sudo wget -L https://get.daocloud.io/docker/compose/releases/download/1.3.1/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
# github下载慢
# sudo wget -L https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose授予权限
chmod x /usr/local/bin/docker-composeBase自动补全命令
echo 199.232.68.133 raw.githubusercontent.com /etc/hosts
sudo wget -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose /etc/bash_completion.d/docker-compose