===========2019年8月5日18:39:06====================
10.20.100.21
root
bayaim

==========01-Docker介绍===================
docker -- go 语言编写
一次运算,到处运行
只能 运行在linux 64位系统

docker 组成: (后台进程)
1.镜像(image)
2.容器(container)
3.仓库(repository)
docker 和 openstack 对比

========02-Docker应用场景===================
1.简化配置 (构建一次就好)
2.提高开发效率
3.应用的隔离
4.服务器的整合
5.多租户环境下使用
6.快速的部署
7.代码流水线管理
8.开发调试的工作
微服务

==========03-Docker镜像和容器===================

docker search httpd //查找镜像
docker pull 镜像名称:镜像版本号 //从docker官方镜像仓库下载镜像
docker pull mysql

------------------------------------------------------------------------
docker run -i -t centos /bin/bash 在容器里启动一个/bin/bash shell环境,可以登录进入操作,其中-t 表示打开一个终端的意思,-i表示可以交互输入。
docker run -d -i -t centos /bin/bash 在后台启动
docker run -d centos:v1 /bin/bash ,-d表示在后台启动,以daemon方式启动。
docker run -d -p 80:80 -p 8022:22 centos:latest /usr/bin/sshd -D
docker run -d --name mynginx nginx
docker run -d -i -t --name myubuntu ubuntu /bin/bash

docker exec -it 容器名称 /bin/bash //进入容器内部

docker ps -a | grep nginx
docker ps //查看运行的容器
docker ps -a //查看所有的容器
docker ps -l 命令获得最后一个容器的id,docker ps -a查看所有的容器

docker start 容器名称 //启动容器
docker stop 容器名称 //停止运行的容器
docker restart 容器名称 //重启容器

docker inspect 容器名称 //查看容器详细
docker logs -f --tail=100 容器名称 //查看容器日志并指定日志行数为100

docker rm 容器名称 //删除容器 --必须停止容器才能删除容器
docker rmi 镜像名称:镜像版本号 //删除镜像 --必须删除容器才能删除镜像

yum install -y util-linux
docker ps -l
docker inspect --format "{{.State.Pid}}" mynginx

这里有报错“mesg: ttyname failed: No such file or directory” ,,
解决方法是在 nsenter 指令后面指定一个执行的shell,, /bin/bash
[root@devdtt ~]# nsenter --target 11950 --mount --uts --ipc --net --pid /bin/bash

#!/bin/bash
CNAME=$1
CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME)
nsenter --target "$CPID" --mount --uts --ipc --net --pid /bin/bash

docker exec -it 容器名称 /bin/bash //进入容器内部

-----------访问-----ip 技术

apt-get update
apt-get install iputils-ping
apt install net-tools

随机映射: -P (大写P) docker run -P -d --name mynginx1 nginx
指定端口: -p (小写) docker run -d -p 91:80 --name mynginx2 nginx

==========05-Docker 的数据管理===================

数据卷

docker run -it --name volume-centos -h nginx -v /data centos

docker inspect 容器名称 //查看容器详细
数据卷容器
docker inspect -f {{.Volumes}} volume-centos
docker inspect -f {{.Config.Volumes}} volume-centos

docker inspect volume-centos | grep Mounts -A 10

docker run -it --name volumes-test2 -h nginx -v /opt:/opt centos

============06-Docker镜像构建-手动构建===================

docker exec -it 容器名称 /bin/bash //进入容器内部

yum install -y wget gcc gcc-c++ make openssl-devel

yum -y install pcre-devel

wget http://nginx.org/download/nginx-1.17.2.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

tar zxf nginx-1.17.2.tar.gz
useradd -s /sbin/nologin -M nginx

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre

vi /etc/rc.local
/usr/local/nginx/sbin/nginx
vi /usr/local/nginx/conf/nginx.conf
daemon off;

docker commit -m "my nginx" 34cc2130e40d baipy/my-nginx:v1
docker images
docker run -d -p 99:80 baipy/my-nginx:v2 /usr/local/nginx/sbin/

============07-Docker镜像构建-Dockerfile===================

dockerfile
docker build -t
Dockerfil

from
maintainer
run
add
workdir
volume
expose

============08-Docker核心原理-资源隔离和限制===================
LXC linux 的容器技术 kernel namespace

docker pull registry
namespace
pid
资源隔开

============09-Docker核心原理-网络和Registry============

host 模式

最新文章

  1. SQL,Linq,Lambda之间的转换练习
  2. Sublime Text 全程指引
  3. [Unity] 2D开发学习教程
  4. spring boot入门例子
  5. mysql 5.7压缩包安装笔记
  6. bjfu1250 模拟
  7. PLSQL调用webservice
  8. 生成awr报告
  9. 修改List报ConcurrentModificationException异常原因分析
  10. RPC 框架原理详解
  11. XiangBai——【CVPR2018】Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation
  12. Scala - 快速学习06 - 面向对象
  13. tf更新tensor/自定义层
  14. Nginx优化详解-------超详细
  15. WebMvcConfigurerAdapter已过时
  16. 转:"为自动填充列调整大小期间不能执行此操作"解决办法 .
  17. 将svn下载的项目转化为java project
  18. [转载]springmvc学习之@ModelAttribute运用详解
  19. 【题解】 [HNOI2009] 最小圈 (01分数规划,二分答案,负环)
  20. 如何处理Android中的防缓冲区溢出技术

热门文章

  1. Css搭建
  2. Stack Overflow 上 370万浏览量的一个问题:如何比较 Java 的字符串?
  3. 异常:java.lang.RuntimeException: Canvas: trying to draw too large(161740800bytes) bitmap
  4. Machine Learning In Action 第二章学习笔记: kNN算法
  5. ElasticSearch的API使用
  6. 实现springboot对接腾讯云短信
  7. STM32F4 阿波罗寄存器 进阶版LED灯
  8. ios 测试网络是否连接
  9. Prometheus笔记(一)metric type
  10. [TimLinux] asciinema Linux终端录制工具嵌入私有web中