Docker(Ubuntu安装Docker+Ubuntu升级)、DockerCompose工具、镜像私有仓库Harbor、Docker部署项目
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命令。
如果您收到没有发现新版本的消息,您有四种选择:
- 第一种和推荐的方法是简单地等待。直到从Ubuntu 16.04 LTS升级到Ubuntu 18.04 LTS,直到2018年7月底才可能无法使用。
- 使用-d开关强制直接升级。在这种情况下,sudo do-release-upgrade -d将强制从Ubuntu 16.04 LTS升级到Ubuntu 18.04 LTS。如果您收到“升级到开发版本只能从最新的受支持版本获得”。消息,请确保将发行升级程序的默认行为设置为ltswithin/etc/update-manager/release-upgrades。
- 首先将版本升级程序的默认行为更改为/etc/update-manager/release-upgrades文件中的默认行为,然后升级至17.10。准备就绪后,再次执行sudo do-release-upgrade命令。一旦您的系统升级到Ubuntu 17.10,然后按照Ubuntu 17.10升级到Ubuntu 18.04升级过程,同时将版本升级行为设置为正常。
- 使用下面描述的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命令打包
六、拉去镜像,部署
更多推荐
所有评论(0)