docker命令

Docker入门笔记(一)

江枫思渺然 提交于 2020-04-06 13:37:30
为什么用docker? 一句话总结:平台的伸缩和弹性部署。 开发人员消除协作编码时“在我的机器上可正常工作”的问题(开发环境/测试环境/生产环境部署切换) 运维人员在隔离容器中并行运行和管理应用,获得更好的计算密度 docker是怎么做到的? docker的两大技术 linux虚拟化 linux操作系统=linux开源内核+文件系统 linux虚拟化=复用内核+自己定制的文件系统 docker镜像技术 docker镜像技术=虚拟化的操作系统+服务包+容器文件=整包(集装箱),也可称作沙箱环境 docker的结构 Host,主机 Container,容器,独立运行的一套虚拟化linux系统 Image,镜像,服务组件的镜像文件 Registry,镜像仓库 Client,客户端,使用api与docker交互 Machine,docker的命令行工具 docker 仓库 存放镜像文件的仓库,类似maven仓库的概念。 分为中央仓库和私服仓库。 镜像查找顺序:私服仓库-->中央仓库 官方仓库的命名规则:docker中央仓库可以注册,然后import上传的仓库是在个人的私有仓库中,以用户名/镜像名为格式存储 docker 镜像 docker的可运行镜像是通过一层层的镜像文件包装,再加上最顶层的容器文件组成的。 每一层镜像文件都有一个唯一id,镜像文件在不同的可运行镜像中可复用

docker容器网络

荒凉一梦 提交于 2020-04-06 11:03:54
目录 1.docker容器网络 2.docker的4种网络模式 2.1bridge模式 2.2container模式 2.3host模式 2.4none模式 1.docker容器网络 Docker在安装后自动提供3种网络,可以使用docker network ls命令查看 [root@localhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 07573ce9f60f bridge bridge local 6dc26f122a07 host host local 16b57e624a73 none null local Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。 2.docker的4种网络模式 网络模式 配置 说明 host --network host 容器和宿主机共享Network namespace container --network container:NAME_OR_ID 容器和另外一个容器共享Network

Centos8下使用docker安装RabbitMQ

旧街凉风 提交于 2020-04-06 08:45:29
centos8下使用docker安装RabbitMQ 安装Centos8 centos8官网镜像下载地址 http://isoredirect.centos.org/centos/8/isos/x86_64/ ,下载最小化镜像安装文件 安装centos8完成后,(切换到root或者sudo)设置阿里云源yum repo 来提高yum包安装速度(CentOS 8 虽然使用dnf作为软件包安装程序,但是 dnf 还是能兼容使用 yum 的配置文件的和命令的使用方法的。) yum -y install wget && \ cd /etc/yum.repos.d/ && \ wget http://mirrors.aliyun.com/repo/Centos-8.repo && \ mv CentOS-Base.repo CentOS-Base.repo.bak && \ mv Centos-8.repo CentOS-Base.repo && \ yum clean all && \ yum makecache 安装Docker 接下来我们开始安装docker,docker官方教程地址: https://docs.docker.com/install/linux/docker-ce/centos/ 先安装docker所需的依赖包 sudo yum install -y yum-utils

Docker CMD ENTRYPOING 和Kubernetes command args对比

泄露秘密 提交于 2020-04-06 05:55:16
Docker CMD ENTRYPOING 和Kubernetes command args对比 exec 模式 使用 exec 模式时,容器中的任务进程就是容器内的 1 号进程 shell 模式 使用 shell 模式时,docker 会以 /bin/sh -c "task command" 的方式执行任务命令。也就是说容器中的 1 号进程不是任务进程而是 bash 进程 CMD 指令 CMD 指令的目的是:为容器提供默认的执行命令。 CMD 指令有三种使用方式,其中的一种是为 ENTRYPOINT 提供默认的参数: ? CMD [ param1 "," param2 "] 另外两种使用方式分别是 exec 模式和 shell 模式: ? CMD [ "executable" , "param1" , "param2" ] // 这是 exec 模式的写法,注意需要使用双引号。CMD command param1 param2 // 这是 shell 模式的写法。` 注意命令行参数可以覆盖 CMD 指令的设置,但是只能是重写,却不能给 CMD 中的命令通过命令行传递参数。 一般的镜像都会提供容器启动时的默认命令,但是有些场景中用户并不想执行默认的命令。用户可以通过命令行参数的方式覆盖 CMD 指令提供的默认命令。 ENTRYPOINT 指令 ENTRYPOINT

docker整理

自闭症网瘾萝莉.ら 提交于 2020-04-06 02:44:51
声明: 我用的是mac,以下不做说明一般都是在mac上做的操作。 一. docker简介---docker初使用 Docker 查看版本 docker version docker查找 tutorial镜像 docker search tutorial 下载仓库镜像到本地 docker pull learn/tutorial 运行镜像 docker run learn/tutorial echo ‘hello world’ 向learn/tutorial容器中安装ping命令 docker run learn/tutorial apt-get install -y ping docker ps -l 提交镜像,相当于新创建了个镜像learn/ping是起的名字 docker commit id号 learn/ping 用新镜像运行个容器 docker run learn/ping ping www.baidu.com 查看当前运行的容器 docker ps 查看运行中的容器 docker inspect 容器id 查看有哪些镜像 docker images 将新创建的镜像保存到github中 push命令保存镜像到github上 docker push learn/ping 注意: 1. docker images命令可以列出所有安装过的镜像。 2. docker

Docker Dockerfile

假装没事ソ 提交于 2020-04-06 02:00:13
Docker Dockerfile 什么是 Dockerfile? Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 使用 Dockerfile 定制镜像 这里仅讲解如何运行 Dockerfile 文件来定制一个镜像,具体 Dockerfile 文件内指令详解,将在下一节中介绍,这里你只要知道构建的流程即可。 1、下面以定制一个 nginx 镜像(构建好的镜像内会有一个 /usr/share/nginx/html/index.html 文件) 在一个空目录下,新建一个名为 Dockerfile 文件,并在文件内添加以下内容: FROM nginx RUN echo '这是一个本地构建的nginx镜像' > /usr/ share / nginx / html / index . html 2、FROM 和 RUN 指令的作用 FROM :定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。后续的操作都是基于 nginx。 RUN :用于执行后面跟着的命令行命令。有以下俩种格式: shell 格式: RUN <命令行命令> # <命令行命令> 等同于,在终端操作的 shell 命令。 exec 格式: RUN [ "可执行文件" , "参数1" , "参数2" ] # 例如: # RUN ["./test

总结Docker的存储和网络相关

亡梦爱人 提交于 2020-04-05 23:02:03
一、Docker概述 LXC所实现的隔离性主要是来自kernel的namespace, 其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开。 cgroups 实现了对资源的配额和度量。 cgroups 的使用非常简单,提供类似文件的接口,在 /cgroup目录下新建一个文件夹即可新建一个group,在此文件夹中新建task文件,并将pid写入该文件,即可实现对该进程的资源控制。 二、网络 (1)网络模型 bridge:网桥网络 当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。 host:主机网络 如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。 none:禁用容器网络 container:容器网络 这个模式指定新创建的容器和已经存在的一个容器共享一个 Network

docker之Dockerfile实践

雨燕双飞 提交于 2020-04-05 18:02:45
https://blog.csdn.net/wuapeng/article/details/80974417 docker之Dockerfile实践 上一篇介绍了Dockerfile中使用的指令,现在开始进行指令实践 先查看下本地的镜像,选一个作为base image: [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE wadeson/centos_nginx v1 210a202d37b8 2 hours ago 464MB nginx latest c59f17fe53b0 4 days ago 108MB ubuntu latest 747cb2d60bbe 3 weeks ago 122MB centos latest 196e0ce0c9fb 6 weeks ago 197MB 在某一个目录下面创建一个专门存放此demo的目录,也就是Dockerfile所在的context: [root@docker ~]# mkdir docker_demo [root@docker ~]# cd docker_demo/ [root@docker docker_demo]# touch Dockerfile [root@docker docker_demo]# pwd /root/docker

Harbor镜像仓库使用精简指南

好久不见. 提交于 2020-04-05 17:42:24
一、使用管理员分配用户 使用管理员登录harbor控制台,进入“系统管理”--“用户管理”,点击创建用户: 填写创建用户表单,即分配一个用户账号: 二、新建项目 使用刚才创建的testuser登录harbor控制台,点击右侧“新建项目” 填写项目名称,并设置项目镜像仓库是否支持公开访问(这里设置为公开 ): 创建完成后,可以看到所建的镜像项目的管理界面: 可以针对该项目,添加可以访问的成员,并赋予权限: 其中, 1)概要:显示项目的总体容量,镜像仓库数量。 2)镜像仓库:用户实际管理所有的镜像。 3)成员:用于维护能访问该镜像仓库的成员管理以及不同的访问权限控制。 4)标签:用于管理镜像库中已经有的镜像标签。 5)配置管理:配置镜像仓库的基础控制,如镜像仓库是否公开访问、是否扫描漏洞、漏洞白名单及有效期等。 其他的不怎么常用,暂时不做介绍。 三、创建镜像仓库并推送镜像 前置条件:需要熟悉docker镜像推送和拉取的相关命令及操作。 获取推送的地址和命令 在项目管理界面中“镜像仓库”标签页下,点击右侧“推送镜像的docker命令”,系统会提示推送镜像相关的命令,点击右侧的小方块,可复制命令。复制这个命令有个好处是,系统已经自动帮你拼好整个要推送的目标地址的URL,你只需要修改其中的SOURCE_IMAGE[:TAG]和IMAGE[:TAG]部分为你自己的镜像名称即可。

docker dnmp安装使用

旧时模样 提交于 2020-04-05 15:40:25
本次介绍会省去很多 docker 的基础知识,如有需要,请自行百度(Google)。只会介绍一些基本的概念和具体的操作过程。 docker 基础的参考: https://blog.csdn.net/S_gy_Ze... 参考书籍: https://yeasy.gitbooks.io/doc... (可以看前几章系统了解 Docker) 官网文档: https://docs.docker.com/ 官方仓库: https://hub.docker.com/ docker-compose compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。 —— 《Dokcer 从入门到实践》 它的主要作用是运行多个 Docker 容器的应用。比如: LNMP —— 我们使用 Docker 来安装, Nginx 、 PHP 、 MySQL 都单独启动一个容器( docker ps 查看容器的运行详情),假如电脑关机了,你需要重启 LNMP 环境,你需要将其逐个运行。如下命令: # 启动 Nginx $ docker run --name runoob-nginx-test -p 8081:80 -d nginx # 启动php $ docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm