如何免费弄一个网站,高端网站建设有哪些,个人建网站,昆山推广用什么网站比较好一、 为什么出现
Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build#xff0c;Ship and Run Any App,Anywhere”#xff0c;也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理#xff0c;使用户的APP#xff08;可以是一个WEB应用或数据库应…一、 为什么出现
Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“BuildShip and Run Any App,Anywhere”也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理使用户的APP可以是一个WEB应用或数据库应用等等及其运行环境能够做到“一次镜像处处运行” Docker 就是在它的基础上发展过来的。将应用打成镜像通过镜像成为运行在Docker容器上面的实例而 Docker容器在任何操作系统上都是一致的这就实现了跨平台、跨服务器。只需要一次配置好环境换到别的机器上就可以一键部署好大大简化了操作。 二、docker 和 传统的虚拟机对比 传统虚拟机技术是虚拟出一套硬件后在其上运行一个完整操作系统在该系统上再运行所需应用进程容器内的应用进程直接运行于宿主的内核容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。每个容器之间互相隔离每个容器有自己的文件系统 容器之间进程不会相互影响能区分计算资源。 三、docker基本组成三要素 镜像Image 镜像是就是一个只读的模板。镜像可以用来创建 Docker 容器一个镜像可以创建很多容器。 理解Image 可以看成java类容器可以看成java类 new出来的实例 容器Container 容器是独立运行的一个或一组应用。容器是用镜像创建的运行实例。 它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。 仓库Repository 仓库是集中存放镜像文件的场所。仓库(Repository)和仓库注册服务器Registry是有区别的。仓库注册服务器上往往存放着多个仓库每个仓库中又包含了多个镜像每个镜像有不同的标签tag。 仓库分为公开仓库Public和私有仓库Private两种形式。最大的公开仓库是 Docker Hub(https://hub.docker.com/)存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云 等 四、安装docker(详细) 确定你是centos 7 以上的版本默认在管理员权限下不在先切换 cat /etc/redhat-release 2. 如果以前装过卸载旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 3.yum 安装gcc相关 首先保证系统能上外网 gcc它是一个自由开源的编译器工具集能够编译多种编程语言包括 C、C、Objective-C、Fortran、Ada 和其他一些编程语言。 gcc -v 查看系统是否安装gcc----- 安装命令
yum -y install gcc yum -y install gcc-c 4.安装需要的软件包 先检查下是否已经安装yum-utils yum list installed | grep yum-utils 或者 yum install -y yum-utils yum-utils 简介是一款由CentOS官方开发的Linux包管理工具它是yum软件包管理器的扩展提供了一系列额外的命令和脚本可以帮助Linux系统管理员更好地管理依赖关系、配置文件、软件包更新等方面的工作。 yum install -y yum-utils 5.安装镜像仓库 此处我们不使用 docker官网仓库使用阿里云的国内仓库国外太慢 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo6.更新yum软件包的索引 作用更新yum软件包的索引能够使系统管理员更加方便地查找和安装软件包 centos 7 :
yum makecache fastcentos 8 :
yum makecache 7.安装docker引擎 先更新yum包、内核此处可以不更新会更新linux所有安装包包、导致意外 升级所有包同时也升级软件和系统内核。 更新完后需要重启系统 reboot yum出问题:Error: Failed to download metadata for repo appstream: Cannot prepare internal mirrorlist: No URLs in mirrorlist
可以参考:【已解决】Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist-CSDN博客 yum -y update
安装最新版本的 Docker Engine-Community 和 containerd安装过程中会出现两次Is this ok [y/N]: y 都输入y然后按Enter键
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin查看是否开机启动
sudo systemctl list-unit-files | grep enable 开机启动
sudo systemctl enable docker.service 8.启动dcoker sudo systemctl start docker查看docker 服务
ps -ef|grep docker 9.测试docker 通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community sudo docker run hello-world 看到下面表示运行成功 10.查看docker版本
docker -v
docker version 11.安装成功后需重启docker systemctl restart docker
或者
service docker restart 五、阿里云镜像加速器配置 新建文件夹
mkdir -p /etc/docker 设置镜像加速地址
sudo tee /etc/docker/daemon.json -EOF
{registry-mirrors: [https://nmmxt7ol.mirror.aliyuncs.com]
}
EOF
重新启动docker
sudo systemctl daemon-reloadsudo systemctl restart docker
六、doker常用的命令整理 以下是Docker的一些常用命令按功能分类帮助启动类命令
启动docker: systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总体帮助文档: docker --help
查看docker命令帮助文档: docker 具体命令--help1. 查看容器和镜像
docker images查看所有本地Docker镜像。
docker ps列出正在运行的容器。
docker ps-l列出最后一次创建的容器。
docker inspect查看容器的底层信息。
docker system df 查看镜像/容器/数据卷所占的空间2. 容器管理
docker run启动一个新的容器。
docker start启动一个已经存在的容器。
docker stop停止一个正在运行的容器。
docker rmi 镜像名/镜像ID 删除一个容器必须为停止状态。
docker rmi -f 镜像名/镜像ID 强制删除容器
docker rmi -f $(docker images -qa) 删除docker引擎中的全部镜像
docker ps -a查看所有容器包括已经停止的。3. 镜像管理
docker search 镜像名 搜索某个镜像
docker pull从Docker镜像仓库中下载镜像。
docker tag给本地镜像添加标签。
docker images -d列出本地所有镜像包括没有使用的缓存镜像。docker rmi删除本地一个或多个镜像。4. 数据管理
docker cp从容器中拷贝文件到本地文件系统或从本地文件系统拷贝文件到容器中。
docker exec在正在运行的容器中执行命令。
docker logs查看容器内标准输出。
docker top查看容器内部运行的进程。
docker port查看容器的端口映射。
以上是Docker的一些常用命令希望可以帮助到您。
七、容器命令(重点)
1- run 运行 :
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 新建/启动容器
docker run -it IMAGE [COMMAND] [ARG...] 启动交互式容器
docker run --name容器名 IMAGE [COMMAND] [ARG...] 新建指定名字的容器
docker run -d IMAGE [COMMAND] [ARG...] 为容器开启守护进程
docker ps [OPTIONS] 列出当前正在运行的所有容器2-退出
exit 退出容器容器停止
ctrlpq 退出容器容器不停止3- 启动/重启/停止
docker start 容器ID或者容器名 启动已停止运行的容器
docker restart 容器ID或者容器名 重启容器
docker stop 容器ID或者容器名 停止容器
docker kill 容器ID或容器名 强制停止容器4- 删除
docker rm 容器ID 删除已停止的容器
docker rm -f 容器名/容器ID 强制删除正在运行的容器
docker rm -f $(docker ps -a -q) 一次性删除多个容器实例5- 查看容器日志
docker logs 容器ID 查看容器日志6-查看容器进程
docker top 容器ID 查看容器内运行的进程7-查看容器内部的细节就是小型linux
docker inspect 容器ID 查看容器内部的细节8-进入容器
docker exec -it 容器ID /bin/bash 进入正在运行的容器并以命令行交互9-copy docker 容器中文件 到主机
docker cp 容器ID:容器路径 主机路径 从容器内拷贝文件到主机上10-导入/导出容器
docker export 容器ID 文件名.tar 导出容器为一个tar文件
cat 文件名.tar docker import - 镜像用户/镜像名:镜像版本新建/启动容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 启动交互式容器 docker run -it IMAGE [COMMAND] [ARG...] 新建指定名字的容器 docker run --name容器名 IMAGE [COMMAND] [ARG...] 为容器开启守护进程 docker run -d IMAGE [COMMAND] [ARG...] 重点 OPTIONS说明常用有些是一个减号有些是两个减号 --name容器新名字为容器指定一个名称 -d: 后台运行容器并返回容器ID也即启动守护式容器(后台运行) -i以交互模式运行容器通常与 -t 同时使用(interactive 交互) -t为容器重新分配一个伪输入终端通常与 -i同时使用也即启动交互式容器(前台有伪终端等待交互)(tty 伪终端) -P: 随机端口映射大写P -p: 指定端口映射小写p 7.1启动交互式容器 重点
1-先拉去ubuntu 的镜像:docker pull ubuntu2-交互模式启动容器并在容器内执行/bin/bash命令启用交互式shelldocker run -it ubuntu /bin/bash对比上面 --name 指定容器名称
docker run -it --namemyubuntu ubuntu3-退出
直接 exit
7.2 7.2 docker ps [OPTIONS] 查看运行中容器命令
OPTIONS说明常用-a :列出当前所有正在运行的容器历史上运行过的
-l :显示最近创建的容器。
-n显示最近n个创建的容器。
-q :静默模式只显示容器编号。7.3 启动守护式容器(重点)
启动后台守护容器
docker run -d redis7.4进入/退出容器重点
进入正在运行的容器并以命令行交互方式1推荐docker exec -it 容器ID bashShell方式2docker attach 容器ID 区别 exec 是在容器中打开新的终端用exit退出不会导致容器的停止。attach 直接进入容器启动命令的终端不会启动新的进程用exit退出会导致容器的停止。 [rootiZuf6hxabqikytnrumsi4gZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ba0c8d50371 redis docker-entrypoint.s… 40 minutes ago Up 40 minutes 6379/tcp unruffled_lamport
[rootiZuf6hxabqikytnrumsi4gZ ~]# docker exec -it 9ba0c8d50371 /bin/bash
root9ba0c8d50371:/data# redis-cli -p 6379
127.0.0.1:6379 ping
PONG
127.0.0.1:6379