发布于3月6日3月6日 超级管理员 勤加练习,记住 本文参考:大佬的文章 Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案,使用Docker,开发和测试可以快速部署和迁移环境,并且能保证环境的一致性,从而提升软件的开发和维护效率。 与虚拟机相比,docker有优点也有缺点,具体可以看下图: 特性容器虚拟机启动秒级分钟级硬盘使用一般为MB一般为GB性能接近原生弱于系统支持量单片机支持上千个容器一般是几个 docker安装 linux换源 https://blog.csdn.net/qq_40520596/article/details/110194439 自动安装: curl -sSL https://get.daocloud.io/docker | sh 手动安装: 1.删除旧版本 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 2.设置源仓库 第二步,设置仓库。新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。此后可从仓库安装和更新Docker。 在设置仓库之前,需先按照所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。 $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 执行上述命令,安装完毕即可进行仓库的设置。使用官方源地址设置命令如下: sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 通常,官方的源地址比较慢,可将上述的源地址替换为国内比较快的地址: 阿里云:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 清华大学源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo 仓库设置完毕,即可进行Docker的安装。 3.安装 sudo yum install -y docker-ce docker-ce-cli containerd.io yum install -y docker-ce 安装参考:https://juejin.cn/post/7125218891642437640 docker docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository); 容器是由镜像实例化而来,这和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,把容器看作类实例化后的对象. 也可以说镜像是文件, 容器是进程。 容器是基于镜像创建的, 即容器中的进程依赖于镜像中的文件, 这里的文件包括进程运行所需要的可执行文件, 依赖软件, 库文件, 配置文件等等… docker进程相关命令: systemctl start docker #启动docker服务 systemctl stop docker #停止docker服务 systemctl restart docker#重启docker服务 systemctl status docker #查看docker服务状态 systemctl enalbe docker #设置开机自启动服务 systemctl disable dockers #关闭开机自启动 docker容器管理命令: docker run -i -t ubuntu:17.10 /bin/bash 参数说明:-i: 保持容器运行.通常于-t同时使用.加入it这两个参数后,容器创建后自动进入容器中,退出后,容器自动关闭-t: 为容器从新分配一个伪终端,通常与-i同时使用.-d: 以守护(后台)模式运行容器,创建一个容器在后台运行,需要使用docker exec进入容器.退出后,容器不会关闭-it: 创建的容器一般称伪交互式容器–name: 为创建的容器命名 docker ps #查看正在运行的容器 docker ps -s -a #查看当前所有容器 docker stop 容器名称 #停止容器 docker restart 容器名称 #重启容器 docker kill 容器名称 #杀死容器 docker rm -f 容器名称或容器id #删除已经停止的容器 ps: 1.docker kill和docker stop的区别与联系 相同点:两者都是停掉容器,并把容器状态指定到stopped。 不同点:被kill杀死容器,进入stopped状态被重新start后,会开启新的进程号;被stop停掉的容器,再次被重新start后,进程号不变,还是原来的 2.停止所有容器运行:docker stop $(docker ps -a -q) 删除所有停止运行的容器:docker rm $(docker ps -a -q) # $()返回括号中执行的任何结果 3.这部分内容有更细的参考: https://www.cnblogs.com/davis12/p/14456227.html https://twle.cn/l/yufei/docker/docker-basic-run.html https://www.jb51.net/article/277278.htm docker镜像管理命令 docker images #查看当前机器的所有镜像 docker images -q # 查看当前所有镜像的id docker search 镜像名称 # 搜索镜像,网络中查找需要的镜像 docker pull 镜像名称 #从Docker仓库拉取镜像,名称:版本号 docker push 镜像名称 #推送镜像 docker rmi 镜像名称/镜像id #删除本地机器的镜像 docker rmi docker images -q #删除所有本地镜像 docker tag 镜像名称:tag 镜像名称:tag #为一个镜像打tag docker save {image_name}.tar #解压一个镜像tar包 docker 查看日志信息 docker logs -f 容器名称 #查看容器日志 docker info #查看docker服务的信息 docker inspect 容器名称 #获取镜像的元信息,详细信息 与容器交互的命令: 进入正在运行的容器 docker exec -it 容器ID或者容器名 /bin/bash `exec的意思是在容器中运行一个命令. /bin/bash是固有的写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后自动bash 退出容器 exit #退出也关闭容器;Ctrl+p+Q #退出不关闭容器 创建启动容器时,使用-v参数设置数据卷 docker run … -v 宿主机目录或文件 数据卷是宿主机的一个目录或文件目录必须是绝对路径如果目录不存在,会自动创建可以挂载多个数据卷 拷贝文件 docker cp 主机文件路径 容器ID或容器名:容器路径 #宿主机文件拷贝到容器中 docker cp 容器ID或容名:容器路径 主机文件路径 #容器文件考本到宿主机中 作业
参与讨论
你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。
注意:你的帖子需要版主批准后才能看到。