CentOS6.8安装Docker
在这里插入图片描述
安装成功后如下:
在这里插入图片描述

CentOS7安装Docker
按照官网文档
在这里插入图片描述

Ubuntu安装Docker
参考文档:https://docs.docker.com/get-docker/
在这里插入图片描述
在这里插入图片描述
确保你的系统已经是最新的。 运行完整的Ubuntu更新并使用Apt升级
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade

以下命令删除所有不再需要的软件包
$ sudo apt autoremove

安装升级包,运行升级程序
$ sudo apt install update-manager-core
$ sudo do-release-upgrade

$ sudo do-release-upgrade -d (加d表示强制升级)

从Ubuntu 16.04 LTS升级

首先执行sudo do-release-upgrade命令。
如果您收到没有发现新版本的消息,您有四种选择:

  1. 第一种和推荐的方法是简单地等待。直到从Ubuntu 16.04 LTS升级到Ubuntu 18.04 LTS,直到2018年7月底才可能无法使用。
  2. 使用-d开关强制直接升级。在这种情况下,sudo do-release-upgrade -d将强制从Ubuntu 16.04 LTS升级到Ubuntu 18.04 LTS。如果您收到“升级到开发版本只能从最新的受支持版本获得”。消息,请确保将发行升级程序的默认行为设置为ltswithin/etc/update-manager/release-upgrades。
  3. 首先将版本升级程序的默认行为更改为/etc/update-manager/release-upgrades文件中的默认行为,然后升级至17.10。准备就绪后,再次执行sudo do-release-upgrade命令。一旦您的系统升级到Ubuntu 17.10,然后按照Ubuntu 17.10升级到Ubuntu 18.04升级过程,同时将版本升级行为设置为正常。
  4. 使用下面描述的Debian方式升级Ubuntu 16.04系统。

从Ubuntu 17.10升级

首先执行sudo do-release-upgrade命令。 如果您收到没有新版本foundmessage,请确保默认版本升级程序设置为正常并重新执行sudo do-release-upgrade命令。

如何以Ubuntu Debian的方式升级

更改您的源

如果您选择了传统的Debian路径,则需要更改/etc/apt/sources.list文件,并使用bionic命令替换以前版本的名称。 所以,如果你在16.04,用bionic来代替xenial的每个实例。 如果你现在有17.10,用bionic取代artful。

通过使用以下sed命令可以自动执行此过程:

$ sudo sed -i ‘s/xenial/bionic/g’ /etc/apt/sources.list

然后,查看/etc/apt/sources.list.d/。 以相同的方式更改其中的任何文件。 如果在尝试更新Ubuntu时最终出现错误,请使用artful直到更新这些存储库。

Ubuntu更新和Ubuntu升级

现在,您可以运行Ubuntu dist升级。 首先,更新Apt来源。 然后,运行Ubuntu升级。

$ sudo apt update && sudo apt -y dist-upgrade
升级应该花一点时间。 很可能,系统上的每个软件包都会升级。 Ubuntu升级完成后,重新启动系统。 系统恢复时,您将运行Ubuntu 18.04 LTS Bionic Beaver!

================================================================================

在这里插入图片描述
访问阿里云镜像服务仓库
https://cr.console.aliyun.com/cn-hangzhou/instances
将加速器的地址配置到Linux安装好的Docker配置文件中,然后输入service docker restart重新启动docker
在这里插入图片描述
ps -ef| grep docker 查看配置的阿里云镜像是否生效
在这里插入图片描述

==============================================================

运行docker run hello-world 从镜像模板下载一个容器实例
在这里插入图片描述
run底层执行的逻辑如下:
在这里插入图片描述
常用的命令
docker version
docker info
docker --help

镜像命令
docker image 列出本地的镜像
在这里插入图片描述
docker images -a 显示镜像的所有信息
docker images -q 显示镜像的ID
docker images -qa 显示镜像的全部ID

docker images --digests 显示摘要信息
docker images --no-trunc
在这里插入图片描述

docker search tomcat 从dockerhub中查询tomcat
docker search -s 30 tomcat 查询点赞数超过30的tomcat
docker search -s 30 --no-trunc tomcat 查询点赞数超过30tomcat详细信息

docker pull tomcat 未指定版本号,默认下载的是最新版docker pull tomcat:latest
docker pull tomcat:3.2 下载3.2版本的tomcat镜像

docker rmi hello-world 删除hello-world
docker rmi -f hello-world 强制删除
docker rmi -f hello-world nginx 删除多个
docker rmi -f $(docker.image -qa) 删除某镜像

容器相关命令
docker pull centos 从阿里云中拉下centos
docker run -it IMAGE_ID 新建并启动命令,登录到centos的根目录下
-i 以交互模式运行容器id,即启动守护式容器
-t 为容器重新分配一个伪输入终端,通常于-i同时使用

在这里插入图片描述
docker ps 列出当前(进程)所有正在运行的容器(容器是由镜像生成的)
在这里插入图片描述
docker ps -l 查看上一次运行的进程(最近创建的容器)
docker pa -n 3 查看上3次运行的进程(显示最近n个创建的容器)
docker ps -lq 查看上次进程,只显示容器进程的id
docker run -it --name mycentos0115 centos 依照镜像新建一个新的容器实例,且重命名

exit 容器停止并退出
ctrl+p+q 从容器返回到宿主机,但不关闭容器实例

docker start 容器ID或者容器名 启动容器实例
docker restart 容器ID或者容器名 重新启动容器实例
docker stop 容器ID或者容器名 停止容器
docker kill 容器ID或者容器名 强制停止容器
docker rm 容器的ID 删除已经停止的容器(注意区分rmi删除镜像)
docker rm -f $(docker ps -a -q) 一次性删除多个容器
docker ps -a -q | xargs docker rm 同上,上次的结果作为下次的参数进行删除

docker run -d 容器id 启动后台运行的容器,-d表示不返回交互窗口
docker ps 查不到容器进程,因为Docker容器后台运行必须有一个前台进程,容器运行命令不是一直挂起的命令(top,tail)就会自动退出的
此时开启一个前台进程,docker run -d centos /bin/sh -c “while true;do echo hello zzyy; sleep 2;done”

docker logs -f -t --tail 容器id 查看日志容器(每隔几秒打印的日志记录)

docker top 容器ID 查看容器内部运行的进程
docker inspect 容器ID 查看容器内部细节
docker attach 容器ID 进入正在运行的容器并以命令行交互(直接进入容器启动命令的终端,不会启动新的进程)
docker exec -t 容器ID ls -l /tmp 在容器中打开新的终端,并且可以启动新的进程
在这里插入图片描述
在这里插入图片描述
docker cp 容器ID:/tmp/yum.log /root 从容器内指定的目录下拷贝文件到宿主机root路径下
在这里插入图片描述

总结:docker常用命令
在这里插入图片描述
在这里插入图片描述

========================

Docker镜像
用来打包软件运行环境和基于运行环境开发的软件
UnionFS 联合文件系统
对文件系统的修改作为一次提交来一层层的叠加,一次同时加载多个文件系统,但从外面看到的就是一个文件系统
在这里插入图片描述

在这里插入图片描述
通过docker进行tomcat启动:
-p 指定端口
-P 随机分配
在这里插入图片描述
通过浏览器进行访问
在这里插入图片描述

提交容器副本使之称为新的镜像:
将容器实例自定义修改后重新提交到仓库,作为新的镜像
在这里插入图片描述

========================

Docker数据卷
容器内的数据可以保存到盘上,做持久化。
容器之间希望可以共享数据

Docker 容器产生的数据,如果不通过docker commit 生成新的镜像,使得数据作为镜像一部分保存下来,当容器删除后,数据就没有了。
为了能保存数据在docker中,使用卷

容器内添加数据卷:
直接命令添加 docker run -it -v /宿主机绝对路径目录:/容器目录 镜像名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看数据是否挂载成功:
docker inspect 容器id 返回的字符串

DockerFile添加

在这里插入图片描述
在这里插入图片描述


数据卷容器
容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器为止

在这里插入图片描述

在这里插入图片描述


Dockerfile
用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


保留字指令
编写自定义镜像
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

========================================

本地镜像发布到阿里云

在这里插入图片描述

==============================================

Docker Compose

一、下载安装
在这里插入图片描述
在这里插入图片描述

二、使用docker compose部署redis
在这里插入图片描述
在这里插入图片描述

多容器配置文件(同时部署mysql和redis)
在这里插入图片描述

=====================================

Harbor私有仓库

在这里插入图片描述

一、下载
在这里插入图片描述

二、安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、访问
在这里插入图片描述

四、添加安全权限
在这里插入图片描述

====================================

Docker部署

基于docker环境+Harbor私有镜像仓库部署

以service-user为例
在这里插入图片描述

一、Maven的settings.xml中添加Harbor账号信息

<server>
	<id>harbor</id>
	<uername>admin</username>
	<password>Harbor12345</password>
	<configuration>
		<email>123456@aliyun.com</email>
	</configuration>
</server>

二、依赖插件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
插件原理:就是在docker主机上构建docker对应的镜像,然后将构建额镜像推送到harbor仓库

三、docker服务端开启远程访问
在这里插入图片描述

四、编写dockerfile文件(该文件必须跟pom.xml处于同一个目录)
在这里插入图片描述

五、执行maven命令打包
在这里插入图片描述
在这里插入图片描述

六、拉去镜像,部署

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

GitHub 加速计划 / ha / harbor
23.24 K
4.68 K
下载
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
最近提交(Master分支:2 个月前 )
9e55afbb pull image from registry.goharbor.io instead of dockerhub Update testcase to support Docker Image Can Be Pulled With Credential Change gitlab project name when user changed. Update permissions count and permission count total Change webhook_endpoint_ui Signed-off-by: stonezdj <stone.zhang@broadcom.com> Co-authored-by: Wang Yan <wangyan@vmware.com> 6 天前
3dbfd422 Signed-off-by: wang yan <wangyan@vmware.com> 7 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐