docker学习笔记

author author     2022-09-04     538

关键词:

Docker是通过内核虚拟化技术来提供容器的资源隔离和安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机额外的操作系统开销,提高资源利用率。

 

Docker是一个基于LXC技术之上构建的Container容器引擎,源码托管在GitHub上,基于Go语言并遵从Apache2.0协议开源。

 

技术分享

技术分享

Docker与OpenStack对比

技术分享

OpenStack是基于KVM;Docker是基于LXC的;

 

Docker能干什么

技术分享

1.简化配置                        4.应用隔离                  7.多租户

2.代码流水线管理              5.服务器整合               8.快速部署

3.开发效率                        6.Debug调试                             

搜素镜像:docker search

获取镜像:docker pull 镜像名

查看镜像:docker images

导出镜像:docker save 镜像名> /opt/centos.tar.gz

导入镜像:docker load </opt/centos.tar.gz

删除镜像:docker rmi 镜像名或者ID

运行一个容器:docker run 镜像名命令

技术分享

 

docker run - 运行一个容器

-t - 分配一个(伪)tty (link is external)

-i - 交互模式 (so we can interact with it)

例子:docker run name mydocker -t -i centos /bin/bash

停止容器:docker stopCONTAINER ID

查看容器:docker ps -a -l

删除容器:docker rm

杀死容器:docker kill

进入容器:docker exec | dockerattach | nsenter(推荐使用这种,

如果没有这个nsenter命令,则需要装yum install util-linux这个包)

进入容器后按exit会退出容器,而且容器会自动终止,使用nsenter这种方法进入容器后exit退出,容器还是继续运行,不会自动终止。

技术分享

docker inspect format  {{.State.Pid}}容器ID   #获取容器进程的PID

docker run rm 可以执行容器后自己删除

例子:docker run rm centos /bin/echo hello

docker常用命令:http://www.docker.org.cn/dockerppt/106.html

 

Docker网络管理

下载nginx镜像

由于docker官方服务器在海外,因此不推荐使用,这里建议使用网易蜂巢镜像中心:https://c.163.com/hub#/m/home/

#docker pull hub.c.163.com/library/nginx:latest

创建nginx容器:docker run -d -P nginx

-d:为后台运行    -P:随机分配端口 -p:指定端口映射

技术分享

技术分享

查看一下发现把本机的32768端口映射到了容器中的80端口

技术分享

浏览器访问192.168.2.114:32768

技术分享

查看容器日志:docker logs 容器ID

 

Docker数据管理

技术分享

#docker run -i -t name volume-test1 -v /data centos

#docker run -it -v /opt:/opt:rw(此处指明权限) centos

#访问其他容器的卷

#docker run -it name test1 volumes-from 其他容器名centos

docker inspect 容器ID或者镜像ID  #查看容器或者镜像的详细信息

 

手动构建镜像

#下载一个基础镜像:docker pull centos

#运行一个容器docker run name mynginx -it centos

#配置yum源:rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

#安装nginx:yum install -y nginx

技术分享

#docker commit -m mynginxf724f505bc1f niehuan/mynginx:v1

技术分享

技术分享

修改下nginx的配置文件:加入daemonoff(让它不在后台启动)

第二次把v1大包成v2整体过程

技术分享

 

Dockerfile构建

Dockerfile包括:基础镜像信息  维护者信息 镜像操作指令 容器启动

FROM :它的妈妈是谁

MAINTAINER:它的爸爸是谁,是谁创造了它(维护者信息)

RUN:你想让它干啥(把命令前面加上RUN)

ADD:往它肚子里放点文件(COPY文件,会自动解压)

WORKDIR:我是cd,今天刚化了妆(当前工作目录)

VOLUME:给我一个存放行李的地方(目录挂载)

EXPOSE:我要打开的门是啥(端口)

RUN:奔跑吧(进程要一直运行下去)

例:在/opt/dockerfile/nginx底下创建Dockerfile

技术分享

技术分享

构建:docker build -t niehuan/mynginx:v3/opt/dockerfile/nginx/

 

Docker私有仓库构建

下载registry镜像

#docker pull hub.c.163.com/library/registry:latest

通过该镜像启动一个容器

#docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registrydocker.io/registry

注:指定了私有镜像仓库的存储映射路径 /opt/data/registry:/tmp/registry用于持久化保存私有镜像

#为基础镜像打个标签

docker tag docker.io/fedora/ssh 192.168.2.114:5000/ssh

#修改docker配置文件

[email protected] ~]# vim /etc/sysconfig/docker

修改此行

OPTIONS=‘--selinux-enabled --insecure-registry 192.168.2.114:5000

#重启docker

systemctl restart docker

#提交镜像到本地私有仓库中

docker push 192.168.2.114:5000/ssh

#从私有库中下载

docker pull 192.168.2.114:5000/ssh

#访问私有仓库

 curl 127.0.0.1:5000/v1/search

{"num_results": 0, "query": "","results": []} //私有仓库为空,没有提交新镜像到仓库中

 

shipyard

图形化管理docker

一键安装:curl -shttps://shipyard-project.com/deploy | bash -s

技术分享

systemctl restart docker

curl -s http://192.168.2.114:235/info | python-mjson.tool

 

docker集群管理:swarm mesos k8s

supervisor进程管理工具

 


本文出自 “甘蔗” 博客,转载请与作者联系!

docker~学习笔记索引

使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索!docker~学习笔记索引docker~linux下的部署和基本命令(2017-04-0722:47)docker~docker-machine的介绍(2017-04-1212:02)docker~使用阿里加速器安c... 查看详情

docker学习笔记

Docker学习笔记什么是Docker? docker是一个容器 跨平台windowsmaclinuxDocker思想 集装箱环境稳定 1.运输方式 标准化 2.存储方式 3.API接口 隔离 lxc轻量级软件隔机制Docker解决了多端运行都没问题 不同环境配置放到集装箱-》鲸鱼-》超... 查看详情

docker学习笔记

一、Docker简介Docker两个主要部件:Docker:开源的容器虚拟化平台DockerHub:用于分享、管理Docker容器的DockerSaaS平台– DockerHubDocker使用客户端-服务器(C/S)架构模式。Docker客户端会与Docker守护进程进行通信。Docker守护进程会处理... 查看详情

docker学习笔记

Docker学习笔记Docker能处理的事情包括:隔离应用依赖创建应用镜像并进行复制创建容易分发的即启即用的应用允许实例简单、快速的扩展测试应用并随后销毁它们Docker背后的想法是创建软件程序可移植的轻量容器,让其可以在任... 查看详情

docker学习笔记

 Docker命令:dockerrunhello-world:用于验证docker是否能够运用了。docker--version:查看版本。限制docker的选项:http://blog.csdn.net/candcplusplus/article/details/53728507dockerrun-m,--memory:dockerrun--memory-swap:dockerrun- 查看详情

docker学习笔记

win10机器: docker下载:https://www.docker.com/products/docker#/windowswin10之外的win机器: docker下载: https://www.docker.com/products/docker-toolbox  boot2docker.iso下载地址:https://pan.baidu.com/s/1qY 查看详情

docker学习笔记

一、Docker简介Docker两个主要部件:Docker:开源的容器虚拟化平台DockerHub:用于分享、管理Docker容器的DockerSaaS平台--DockerHubDocker使用客户端-服务器(C/S)架构模式。Docker客户端会与Docker守护进程进行通信。Docker守护进程会处理复杂繁重... 查看详情

docker学习笔记docker仓库数据卷数据卷容器,网络基础实操。高级网络配置学习

Docker学习笔记【4】高级网络配置实操,实战案例实验===========================================================================Docker学习笔记【2】Docker仓库实操,创建私有仓库,实操数据卷、数据卷容器,记录开始========================================... 查看详情

docker学习笔记docker相关概念,基本操作

计划:Docker学习笔记【2】Docker基础操作实操记录,Docker仓库、数据卷,网络基础学习---40注:所有操作在root下执行--1--概念:1、Docker镜像:镜像就是一个只读的模板,用于创建docker容器。Docker提供了简单的机制创建或者更新现... 查看详情

docker学习笔记

docker CE 和 EE:CE社区版,EE企业版dockerEE强化了安全,安全,安全  集成了DockerDataCenter用于容器管理,使其更加便利  查看详情

docker学习笔记1--安装和配置

技术资料docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔记:http://www.open-open.com/lib/view/open1423703640748.html 深入浅出docker:http://www.infoq 查看详情

docker学习笔记6

VIIIdocker​目录​​​虚拟化:41​​​​​dockerobjects:43​​​​​dockerimages:46​​​​​dockerregistry:48​​​docker:​介绍;​镜像管理;​容器管理;​网络访问;​数据管理;​镜像构建;​私有仓库;​核心技术;​... 查看详情

docker学习笔记什么是docker

Docker学习笔记(一)什么是Docker Docker:容器技术是虚拟化技术的一种,是操作系统的虚拟化。 传统硬件虚拟化:虚拟硬件,事先分配资源,在虚拟的硬件上安装操作系统,虚拟机启动起来以后资源就会被完全占用。操作... 查看详情

docker学习笔记

基本概念    Docker:开源的容器虚拟化平台,虚拟机能做的Docker都能做,而且速度更快。    Docker的核心思想有三点:集装箱,将一个个程序(应用)看作集装箱,在网络间进行搬运,Docker中的集装箱也就是镜像标准化... 查看详情

docker学习笔记--docker常用命令

原文地址:http://blog.csdn.net/we_shell/article/details/383681371.查看docker信息(version、info)[plain] viewplaincopy  # 查看docker版本  $docker version    #&nb 查看详情

docker学习笔记

  1.查询dockers某个容器的ip地址。[[email protected]~]#dockerinspect--format=‘{{.NetworkSettings.IPAddress}}‘3ea2b8c52e72172.17.0.7    查询容器mac地址[[email protected]~]#dockerinspect--f 查看详情

docker学习记录笔记

Docker一些简单的命令列表dockerbuild-tfriendlyhello.#Createimageusingthisdirectory‘sDockerfiledockerrun-p4000:80friendlyhello#Run"friendlyname"mappingport4000to80dockerrun-d-p4000:80friendlyhello#Samething,buti 查看详情

docker学习笔记docker仓库

访问仓库,仓库是集中从存放镜像的地方。类似Maven。DockerHub  目前由Docker官方维护的一个公共仓库,其中包括15000的镜像。  注册  在 https://hub.docker.com免费注册一个Docker账号。  登录  通过dockerlogin命令交互式... 查看详情