docker命令

docker基础(一)

北慕城南 提交于 2020-01-30 00:13:00
1. Docker是什么 Docker是一个开源的应用客器引擎,基于GO语言开发实现,属于操作系统层面的虚拟化技术。 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何安装有 Docker的电脑( windows和 Linux)上。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iphone和app),更重要的是容器性能开销极低。 2. Docker能够做什么 Docker可以解决虚拟机能够解决的问题,同时也能够解决虚拟机由于电脑资源要求过高而无法解决的问题。 虚拟机和 Docker虚拟化的不同之处 3. 为什么使用 Docker 1)更快速的交付和部署 对开发和运维员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。 例如:开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署 的时间. 节约安装各种开发环境的软件的时间。 解决开发环境和生产环境不一致的问题 2)更轻松的迁移和扩展: Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个 3)更高的资源利用率

通过Jenkins与Docker构建CI/CD基础架构

孤街醉人 提交于 2020-01-29 23:48:41
前言 提到容器平台,最早接触的便是LXC(Linux Container),是2010年刚刚接触虚拟化平台的时候,当时开源解决方案是xen的天下(后来KVM才后来者居上),且性能各方面都不弱,价值当时还不是移动互联网时代,业务量远远没有那么大,大部分公司都是物理机部署应用,用虚拟化平台的公司也是寥寥无几,可想而知,没有业务,没有场景,那就没有技术的用武之地了,所以,LXC生而伟大而用不逢时,Docker之所以能够青出于蓝而胜于蓝,取得如此大的成功的原因还是归咎于移动互联网带来的流量大爆炸,普通基于物理机,虚拟机甚至云主机(虽然弹性伸缩应该是云主机的特性,但是当时国内看起来根本没有做到的,比起AWS来,差距之大,只能意会)的业务架构已经不能满足目前的应用场景了。 关于Docker,在2013年的时候就开始接触了,当时在一家做私有云解决方案的公司里面以Openstack/Cloudstack私有云管理平台+VMWare/Xen/KVM等虚拟化平台在各大行业进行云平台的推广与实施,Docker当时对我们而言就是个实验室里面的Demo产品,并没有作过多的关注。 后来于2014年在腾讯游戏任职业务运维,中心有一个部门就已经专门研究Docker技术,我也跟着凑了一把热闹,只是当时比较火的还是云主机,而且腾讯云当时才刚刚起步,加之当时维护的更多的还是端游业务,考虑到游戏的稳定性

Linux CentOS7.x安装docker全过程

给你一囗甜甜゛ 提交于 2020-01-29 22:04:23
1、在安装docker之前,首先使用yum -y remove docker命令移除系统中已有的旧版本的docker yum -y remove docker 这里显示该系统没有安装过docker; 2、安装yum-utils管理yum源 (1)、安装yum-utils yum install -y yum-utils (2)、新增yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 3、建立元数据缓存 yum makecache fast 4、安装最新版本的docker yum -y install docker-ce 也可以使用yum list docker-ce.x86_64 --showduplicates | sort -r命令列出可用的docker版本; 使用yum -y install docker-ce-version来安装某一指定版本的docker; 5、启动docker systemctl start docker 6、验证docker是否安装成功 docker run hello-world 7、查看docker版本信息 docker version 8、卸载docker 如第一步所示,使用命令yum -y remove docker

docker - 如何清理硬盘中无关占用

对着背影说爱祢 提交于 2020-01-29 16:38:56
背景 在使用docker进行容器化管理后会发现本次硬盘文件占用量在不断上升,并且即使是删除掉容器或者镜像也并不能释放掉对应的硬盘空间。本文将提供对应的docker命令用于真正释放掉该部分应被删除释放的空间却仍然存留占用硬盘空间的相关垃圾文件。 查询命令 docker system df docker空间占用查看,该命令可以列出docker应用中镜像,容器,数据卷所占用的容量,在此说明下即使是容器被删除了数据卷也不会随着容器的删除而删除。 [root@root ~]# docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 5 1 1.512 GB 1.386 GB (91%) Containers 1 0 5 kB 5 kB (100%) Local Volumes 0 0 0 B 0 B 增加-v命令可以输出更加详细的占用信息,针对每个镜像,每个容器,每个数据卷信息都将被输出。用户可以根据该命令来判断是哪个镜像、容器、数据卷导致的占用过高 docker system df -v Images space usage: REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS docker.io/nginx latest

Docker配置mysql主从复制

*爱你&永不变心* 提交于 2020-01-29 11:56:08
学习打卡_Docker容器: 已有环境 tomcat下有一个项目,有一个mysql容器,项目与这个mysql容器对接完成-----配置从服务器 1、创建一个mysql实例 命名从服务器 docker run --name mysql5.7cong -e MYSQL_ROOT_PASSWORD=tiantian -p 3307:3306 -d mysql:5.7 2、搭建从服务器与主服务器表库结构一致 3、完成以上准备工作就可以开始配置主机mysql配置文件 – 进入主机mysql容器 docker exec -it e1066fe2db35 /bin/bash – 安装vim编辑更改配置文件(网速慢?还有另外一种方式:直接把docker容器里面的文件拷贝到docker外面:如 docker cp 31383f231bb2:/usr/local/tomcat/webapps/ qx.war ) 更新软件包 apt-get update 安装vim apt-get install vim – 修改配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf – 添加如下内容 ## 同一局域网内注意要唯一 server-id=1 ## 开启二进制日志功能,可以随便取(关键) log-bin=mysql-bin – 重启MySQL服务 service mysql

Docker容器化部署Python应用

纵饮孤独 提交于 2020-01-29 04:59:10
1. 简介 Docker 是目前主流IT公司广泛接受和使用的,用于构建、管理和保护它们应用程序的工具。 容器,例如Docker允许开发人员在单个操作系统上隔离和运行多个应用程序,而不是为服务器上的每个应用程序专用一个虚拟机。使用容器更轻量级,可以降低成本、更好地使用资源和发挥更高的性能。 本文将使用Flask开发一个简单的Python web应用程序,并为“容器化”做好准备。然后创建一个Docker映像,并将其部署到测试和生产环境中。 注意: 请确保机器上已安装Docker,如果没有请参考 Docker官方安装教程 。 2. Docker介绍 Docker是一种工具,它使开发人员能够交付他们的应用程序(以及库或其他依赖项),确保他们可以使用正确的配置运行,而不受部署环境影响。 这是通过将应用程序隔离在单独的容器中来实现的,这些应用程序虽然被容器分隔开,但是却可以共享操作系统和其他资源。 Docker包含两部分: Docker Engine — 应用打包工具,用于封装应用程序。 Docker Hub — 用于管理云上容器应用程序的工具。 3.为何选择容器 了解容器的重要性和实用性非常重要,虽然它和直接将应用部署到服务器没有多大区别,但是当涉及到比较复杂的且相当吃资源的应用,尤其是多个应用部署在同一台服务器,或是同一应用要部署到多台服务器时。容器就变得非常有用。 在容器之前,这是通过

Dcoker的安装以及使用

泪湿孤枕 提交于 2020-01-29 04:18:38
之前安装过的一些坑,防止以后还会遇到,在这里记录一下,不喜勿扰 1、安装 yum -y install docker-io 2、更新yum,不然会报以下错误(Error response from daemon: oci runtime error: container_linux.go:235:) yum update 3、开启镜像加速器 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 4、修改配置文件 vim /etc/docker/daemon.json { "registry-mirrors": ["镜像加速地址"] } 5、重新加载配置 sudo systemctl daemon-reload 6、重新启动 sudo systemctl restart docker 7、一些命令 启动docker服务: systemctl start docker 重启docker服务: systemctl restart docker 停止docker服务: systemctl stop docker docker服务状态查看: systemctl status docker 在服务器上设置docker服务开机启动: systemctl enable docker 来源: CSDN 作者: 小发明家啦啦啦啦啦 链接

Docker 快速入门之 Dockerfile

北战南征 提交于 2020-01-29 04:00:43
在 Docker 中我们可以从名为 Dockerfile 的文件中读取指令并且自动构建镜像。在本文中,将介绍 Dockerfile 的基本语法以及基本知识。 Dockerfile 是什么 Dockerfile 其实是一份文本文档,里面包含了用户可以用来操作镜像的一些指令。通过顺序执行这些指令,最后得到一个自定义的镜像,这有点类似于我们的 shell 脚本。 #获取docker版本 docker -v | grep -Po 'Do.+?\s\K(\d|\.)+' Dockerfile 示例 FROM centos LABEL maintainer="Locez <locez@locez.com>" ENV TEST="This is a test env" COPY nginx.repo /etc/yum.repos.d/nginx.repo RUN yum update -y && \ yum install -y nginx COPY nginx.conf /etc/nginx/nginx.conf COPY index.html /usr/share/nginx/html/index.html COPY index_files/ /usr/share/nginx/html/index_files/ EXPOSE 80 CMD ["/usr/sbin/nginx","-g",

docker之容器数据持久化

 ̄綄美尐妖づ 提交于 2020-01-29 03:52:17
1.挂载本地目录为容器的数据存放目录 [root@node03 ~]# docker run -itd --name web01 -v /container_data/web:/data ubuntu [root@node03 ~]# docker inspect web01 2.到挂载的目录下面创建一个文件 [root@node03 ~]# cd /container_data/web/ [root@node03 web]# ls [root@node03 web]# touch test.index 3、查看web01容器下面的data目录是否存在刚才创建的文件 [root@node03 ~]# docker exec web01 ls /data 4、在创建一个web02 的容器,也挂载相同的目录,看看刚才的文件是否还存在 [root@node03 ~]# docker run -itd --name web02 -v /container_data/web:/data ubuntu 二、 容器 数据卷 创建一个dvdata的数据卷容器: [root@node03 ~]# docker run -itd -v /data --name dvdata ubuntu 注:/data是数据卷容器内共享的目录 在其他容器中挂载dvdata容器的数据卷: [root@node03 ~]

Web服务Docker化的优势

主宰稳场 提交于 2020-01-29 03:34:04
我们总会发现公司的项目总是上到服务器的docker中运行,而自己开发的项目通常为了方便直接打包为一个war包上传到服务器,再使用java -jar命令运行。结果两种方案都能够正常运行起来,这个时候爱思考的同学们就会去想:既然我们有简单的部署方式,那为何还要使用docker呢?非常好的问题,我们接着往下看: docker是什么? docker是一个开源的应用容器引擎,如果你是docker的初学者,同时也有开发过基于Maven的java项目的经验,那就会比较容易理解:我们可以把docker想作一个拥有类似Maven仓库的镜像资源仓库的虚拟机。我们能够在docker容器之中运行来自仓库的各类应用。 为什么使用docker? 作为程序员,是否经常听到身边有人说“怎么在我的机器上没办法复现啊?”这样的话,很大程度上是因为QA人员与工程师们使用的各种环境各种配置不同导致的。我们想一想,使用虚拟机最大的好处是什么?就是让使用者处于一个自己可配置的可控的“标准”环境里。docker同样也拥有虚拟机的这一大优势。因此,它的第一大优势就是: 保证程序运行环境的统一 。 再描述一个场景:一台服务器通常是由多人/多项目共享,如果某天与你共用服务器的同事的项目出现了各种占用CPU/硬盘这样的问题,你在此台服务器中运行的项目也会因此收到影响。而当你使用docker时,我们可以限制每个应用实例的各类资源的上限