docker命令

what is docker

两盒软妹~` 提交于 2020-03-15 09:30:11
尽管之前久闻Docker的大名了,但是天资愚钝,对其到底是个啥东西一直摸不清,最近花了一段时间整理了一下,算是整理出一点头绪来。 官网的介绍是这样的: Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.... 其实看完这句话还是不明白究竟是啥的,下面就慢慢解释。不过长话短说的话,把他想象成一个用了一种新颖方式实现的超轻量虚拟机,在大概效果上也是正确的。当然在实现的原理和应用上还是和VM有巨大差别的,并且专业的叫法是应用容器(Application Container)。 为啥要用容器? 那么应用容器长什么样子呢,一个做好的应用容器长得就好像一个装好了一组特定应用的虚拟机一样。比如我现在想用Mysql那我就找个装好Mysql的容器,运行起来,那么我就可以使用 Mysql 了。 那么我直接装个 Mysql 不就好了,何必还需要这个容器这么诡异的概念?话是这么说,可是你要真装Mysql的话可能要再装一堆依赖库,根据你的操作系统平台和版本进行设置,有时候还要从源代码编译报出一堆莫名其妙的错误,可不是这么好装。而且万一你机器挂了,所有的东西都要重新来,可能还要把配置在重新弄一遍。但是有了容器,你就相当于有了一个可以运行起来的虚拟机

docker 安装

て烟熏妆下的殇ゞ 提交于 2020-03-15 03:05:29
一:docker 安装 ubuntu14.04: 1.Docker CE现在overlay2默认使用存储驱动程序,建议您使用它来代替aufs。如果您需要使用aufs,您将需要做额外的准备。 除非你有一个强有力的理由,否则,安装linux-image-extra-*允许Docker使用aufs存储驱动程序的 软件包。 sudo apt-get install \ linux-image-extra-$(uname -r) \ linux-image-extra-virtual 2.使用存储库进行安装 更新apt软件包索引: sudo apt-get update 安装软件包以允许apt通过HTTPS使用存储库: sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common 添加Docker的官方GPG密钥: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的最后8个字符,确认您现在拥有指纹的密钥 。 sudo apt-key

Centos7 Docker安装部署Rancher

ぐ巨炮叔叔 提交于 2020-03-15 03:04:26
Rancher简介 Rancher 是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。主要包括服务管理,公有云节点管理,支持第三方用户权限管理,应用商店,api很是灵活,只是文档较少,让你更多的去参考 官方文档 。 Rancher结构 Rancher由以下四个部分组成: 1、基础设施编排 Rancher可以使用任何公有云或者私有云的Linux主机资源。Linux主机可以是虚拟机,也可以是物理机。Rancher仅需要主机有CPU,内存,本地磁盘和网络资源。从Rancher的角度来说,一台云厂商提供的云主机和一台自己的物理机是一样的。 Rancher为运行容器化的应用实现了一层灵活的基础设施服务。Rancher的基础设施服务包括网络, 存储, 负载均衡, DNS和安全模块。Rancher的基础设施服务也是通过容器部署的,所以同样Rancher的基础设施服务可以运行在任何Linux主机上。 2、容器编排与调度 很多用户都会选择使用容器编排调度框架来运行容器化应用。Rancher包含了当前全部主流的编排调度引擎,例如Docker Swarm, Kubernetes, 和Mesos

docker创建tomcat容器

≡放荡痞女 提交于 2020-03-14 15:23:23
配置阿里云镜像地址:先在阿里云搜索:容器镜像服务 --> 最下面找到 容器加速服务 docker配置 etc目录下 创建docker文件夹 mkdir --->docker -----vi daemo.json daemon.json文件 配置:vi /etc/sysctl.conf 添加: net.ipv4.ip_forward=1 重启服务: systemctl restart network 查看是否修改成功 { "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"] } 下载tomcat版本 docker pull tomcat:8.5.46-jdk8-openjdk 启动一个tomcat容器 :docker run -p 8000:8080 -d tomcat:8.5.46-jdk8-openjdk 查看端口: netstat -tulpn 启动成功 tomcat默认的账号密码:需要进入tomcat容器: docker exec -it 8979889y6978 /bin/bash 查看conf文件件下的 修改docker容器配置文件 没有vi命令时 需要先安装命令:apt-get update命令 来源: https://www.cnblogs.com/badboys/p/12491948.html

07-docker端口映射与容器关联

时光怂恿深爱的人放手 提交于 2020-03-14 02:30:08
端口映射与容器关联 docker除了通过网络访问外,还提供了两个功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问。 端口映射容器访问 1、从外部访问容器应用,从启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。可以通过-P或-p参数来指定端口映射。 -P:会随机映射一个49000~49900的端口到内部容器开放的网络端口 [root@docker01 ~]# docker run -d -P training/webapp python app.py 75b2c32292d290aa3004b5b6cbb49775cc6f360796736473978cc32a682fdad9 [root@docker01 ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 75b2c32292d2 training/webapp "python app.py" 3 seconds ago Up 2 seconds 0.0.0.0:32770->5000/tcp musing_carson 查看应用的信息 [root@docker01 ~]# docker logs -f musing

07-docker端口映射与容器关联

落爺英雄遲暮 提交于 2020-03-14 02:11:21
端口映射与容器关联 docker除了通过网络访问外,还提供了两个功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问。 端口映射容器访问 1、从外部访问容器应用,从启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。可以通过-P或-p参数来指定端口映射。 -P:会随机映射一个49000~49900的端口到内部容器开放的网络端口 [root@docker01 ~]# docker run -d -P training/webapp python app.py 75b2c32292d290aa3004b5b6cbb49775cc6f360796736473978cc32a682fdad9 [root@docker01 ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 75b2c32292d2 training/webapp "python app.py" 3 seconds ago Up 2 seconds 0.0.0.0:32770->5000/tcp musing_carson 查看应用的信息 [root@docker01 ~]# docker logs -f musing

docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面

你离开我真会死。 提交于 2020-03-13 19:25:43
1、从容器里面拷文件到宿主机 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将test.js从容器里面拷到宿主机的/opt路径下面,那么命令应该怎么写呢? 答案:在宿主机上面执行命令 docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt 2、从宿主机拷文件到容器里面 答:在宿主机里面执行如下命令 docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径 示例:假设容器名为testtomcat,现在要将宿主机/opt/test.js文件拷贝到容器里面 的/usr/local/tomcat/webapps/test/js路径下面,那么命令该怎么写呢? 答案:在宿主机上面执行如下命令 docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js 来源: https://www.cnblogs.com/yaohong/p/9213337.html

Docker 容器日志分析

ε祈祈猫儿з 提交于 2020-03-13 09:10:58
查看容器日志 先使用 docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine 命令启动一个nginx容器。如果没有异常,会得到容器ID如 d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00 的长串。再使用 curl -i http://127.0.0.1 访问服务,确认nginx容器正常启动运行。最后使用 docker logs -f d24 查看容器的日志输出,大概如下: ? 1 172.17.0.1 - - [24/Mar/2019:03:51:21 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-" 一般来说使用容器ID的前3位即可 以上就是我们查看容器日志的日常方法了,非常简单实用。 容器日志文件存储 容器的日志会以json文件方式存储在本地磁盘,可以使用下面方式查看文件路径 docker inspect d42 | grep Log 可以找到: "LogPath": "/var/lib/docker/containers/d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00

Docker清除容器镜像命令:

北城以北 提交于 2020-03-13 09:10:16
# ~/.bash_aliases # Kill all running containers. alias dockerkillall='docker kill $(docker ps -q)' # Delete all stopped containers. alias dockercleanc='printf "\n>>> Deleting stopped containers\n\n" && docker rm $(docker ps -a -q)' # Delete all untagged images. alias dockercleani='printf "\n>>> Deleting untagged images\n\n" && docker rmi $(docker images -q -f dangling=true)' # Delete all stopped containers and untagged images. alias dockerclean='dockercleanc || true && dockercleani'    来源: https://www.cnblogs.com/theWinter/p/10180883.html

[转帖]DOCKER基础技术:DEVICEMAPPER

守給你的承諾、 提交于 2020-03-13 08:06:27
DOCKER基础技术:DEVICEMAPPER https://coolshell.cn/articles/17200.html 2015年08月26日 陈皓 评论 21 条评论 48,398 人阅读 在上一篇 介绍AUFS的文章 中,大家可以看到,Docker的分层镜像是怎么通过UnionFS这种文件系统做到的,但是,因为Docker首选的AUFS并不在Linux的内核主干里,所以,对于非Ubuntu的Linux分发包,比如CentOS,就无法使用AUFS作为Docker的文件系统了。于是作为第二优先级的DeviceMapper就被拿出来做分层镜像的一个实现。 Device Mapper 简介 DeviceMapper自Linux 2.6被引入成为了Linux最重要的一个技术。它在内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,它包含三个重要的对象概念,Mapped Device、Mapping Table、Target device。 Mapped Device 是一个逻辑抽象,可以理解成为内核向外提供的逻辑设备,它通过Mapping Table描述的映射关系和 Target Device 建立映射。Target device 表示的是 Mapped Device 所映射的物理空间段,对 Mapped Device