docker
容器的定义:由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速
----Cgroup -资源管理
----NameSpace-进程管理
--- SElinux 安全
Docker的定义:
• Docker是完整的一套容器管理系统
• Docker提供了一组命令,让用户更加方便直接地使
用容器技术,而不需要过多关心底层内核技术
优点:轻量级,简洁高效
缺点:安全性差,平台单一 LINUX
隔离: hostname ip(网络) disk (磁盘) proc (进程) ipc (信号发射) username(用户名)
安装Docker
真机操作
[root@room9pc01 ~]# cd /var/ftp/extras/
[root@room9pc01 extras]# ls
comps.xml Packages repodata version.txt
[root@room9pc01 extras]# cd Packages/
[root@room9pc01 Packages]# ls docker-*
docker-1.12.6-11.el7.x86_64.rpm
docker-client-1.12.6-11.el7.x86_64.rpm
docker-client-latest-1.12.6-11.el7.x86_64.rpm
docker-common-1.12.6-11.el7.x86_64.rpm
docker-distribution-2.6.0-1.el7.x86_64.rpm
docker-forward-journald-1.10.3-44.el7.x86_64.rpm
docker-latest-1.12.6-11.el7.x86_64.rpm
docker-latest-logrotate-1.12.6-11.el7.x86_64.rpm
docker-latest-v1.10-migrator-1.12.6-11.el7.x86_64.rpm
docker-logrotate-1.12.6-11.el7.x86_64.rpm
docker-lvm-plugin-1.12.6-11.el7.x86_64.rpm
docker-novolume-plugin-1.12.6-11.el7.x86_64.rpm
docker-python-1.4.0-115.el7.x86_64.rpm
docker-registry-0.6.8-8.el7.noarch.rpm
docker-registry-0.9.1-7.el7.x86_64.rpm
docker-rhel-push-plugin-1.12.6-11.el7.x86_64.rpm
docker-selinux-1.10.3-57.el7.x86_64.rpm
docker-v1.10-migrator-1.12.6-11.el7.x86_64.rpm
虚拟机操作:
配置YUM源:
[root@docker01 ~]# vim /etc/yum.repos.d/local.repo
[extras_repo]
name=extras
baseurl="ftp://192.168.1.254/extras" #真机的虚拟网关
enabled=1
gpgcheck=0
[root@docker01 ~]# yum -y install docker
[root@docker01 ~]# systemctl start docker
[root@docker01 ~]# systemctl enable docker
[root@docker01 ~]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 # 含有这个docker
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:e8:f4:eb:09 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@docker02 ~]# docker images # 查看镜像
[root@docker01 ~]# docker search centos #查看有那些镜像
INDEX NAME DESCRIPTION STARS OFFICIAL(是否为官方的) AUTOMATED
docker.io docker.io/centos The official build of CentOS. 5395 [OK]
docker.io docker.io/ansible/centos7-ansible Ansible on Centos7 121 [OK]
docker.io docker.io/jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x... 110 [OK]
docker.io docker.io/consol/centos-xfce-vnc Centos container with "headless" VNC sessi... 91 [OK]
命令列表
镜像的命令:
– docker rmi //删除本地镜像
– docker save //镜像另存为tar包
– docker load //使用tar包导入镜像
– docker search //搜索镜像
– docker tag //修改镜像名称和标签
– docker images //查看镜像列表
– docker history //查看镜像制作历史
– docker inspect //查看镜像底层信息
– docker pull //下载镜像
– docker push //上传镜像
[root@docker01 ~]# docker search busybox
[root@docker01 ~]#docker pull docker.io/busybox
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/busybox latest 64f5d945efcc 4 weeks ago 1.199 MB
[root@docker0migling1 ~]# docker save docker.io/busybox:latest -o busybox.tar
[root@docker01 ~]# ls
busybox.tar docker
[root@docker02 ~]# ls
busybox.tar docker
[root@docker02 ~]# docker load -i busybox.tar
d1156b98822d: Loading layer [==================================================>] 1.416 MB/1.416 MB
Loaded image: docker.io/busybox:latest
[root@docker02 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/busybox latest 64f5d945efcc 4 weeks ago 1.199 MB
[root@docker02 ~]# docker images # 查看镜像
名称 标签 ID 创建的时间 大小
]# docker save -o busybox(文件命名) 名称:标签
]#file busybox
]# docker save -o busybox.tar(文件命名) 名称:标签
]#ls
busybox.tar
]#scp busybox.tar root@192.168.1.31:/root
虚拟机2:
docker load -i busybox.tar #导入镜像
docker run启动一个全新的容器)
docker 命令 参数 镜像名称:标签 启动命令
]#docker run -it docker.io/centos:latest /bin/bash(容器内的命令) #进入容器的命令
]#yum provides ifconfig # 查找ifconfig的安装包
redhat ubuntu
rpm == dpkg
yum == apt-get
yum -y install httpd
apt-get install apache2
yum -y install vim
容器的命令 :apt-get install vim
root@e54f235dd593:/# dpkg -l
https://mirrors.aliyun.com/ubuntu/
]#docker inspect docker.io/centos
"ENV" 环境变量
[root@docker01 ~]# docker history docker.io/centos
IMAGE CREATED CREATED BY SIZE COMMENT
76d6bc25b8a5 8 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 8 months ago /bin/sh -c #(nop) LABEL org.label-schema.sch 0 B
<missing> 8 months ago /bin/sh -c #(nop) ADD file:8f4b3be0c1427b158f 199.7 MB
]#docker tag docker.io/busybox:latest aaa:latest 复制
]# docker images
]# docker tag docker.io/busybox:latest aaa:123 复制
容器的命令 :
– docker run //运行容器
– docker ps //查看容器列表
– docker stop //关闭容器
– docker start //启动容器
– docker restart //重启容器
– docker attach|exec //进入容器
– docker inspect //查看容器底层信息
– docker top //查看容器进程列表
– docker rm //删除容器
[root@docker01 ~]# docker run -itd docker.io/nginx:latest # -itd 在后台交互式中端运行 这个容器
d56dd319621f8d7b54fb17805c289345d879853b79229344be841f16eaff845f
[root@docker01 ~]# docker ps 查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d56dd319621f docker.io/nginx:latest "nginx -g 'daemon off" 19 seconds ago Up 15 seconds
[root@docker01 ~]# docker ps -a # 查看所有容器列表
[root@docker01 ~]# docker inspect d56dd319621f # 比镜像 能查看到IP
]
[root@docker01 ~]# docker ps -aq
d56dd319621f
8909d667544c
e54f235dd593
c1eb1e20f283
9380bc92ed95
4558844cb2d9
bc105492aa4b
a228d2337750
de9fdb56a765
[root@docker01 ~]# docker ps -q
d56dd319621f
[root@docker01 ~]#
[root@docker01 ~]# docker ps -q
d56dd319621f
[root@docker01 ~]# docker top d5
UID PID PPID C STIME TTY TIME CMD
root 27388 27371 0 16:48 pts/1 00:00:00 nginx: master process nginx -g daemon off;
101 27411 27388 0 16:48 pts/1 00:00:00 nginx: worker process
[root@docker01 ~]# docker ps -aq
d56dd319621f
[root@docker01 ~]# docker stop d5
d5
[root@docker01 ~]# docker rm $(docker ps -aq)
d56dd319621f
[root@084241785aef yum.repos.d]# pstree -p 按 ctrl p q 退出 容器后还能查看进程 exit 则不能
bash(1)---pstree(25)
[root@084241785aef yum.repos.d]# [root@docker01 ~]#
[root@docker01 ~]# docker ps 还能查看进程
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
084241785aef docker.io/centos:latest "/bin/bash" 4 minutes ago Up 4 minutes silly_wescoff
[root@docker01 ~]#
[root@docker01 ~]# docker attach 084241785aef 进入容器
[root@084241785aef yum.repos.d]#
dpkg
修改 nginx 的首页
启动apache 服务 修改首页
dpkg -l | grep nginx 包名
dpkg -L | grep nginx 包的 文件
nginx -V
nginx -L
> <<EE
- Weave 如何与外网通信?- 每天5分钟玩转 Docker 容器技术(66)
- docker持久化和网络
- Docker虚拟机理论
- docker 创建完整的web运行环境
- 初玩docker swarm mode
- Dockerfile命令介绍及实例
- Docker技术剖析--docker网络配置(二)
- Ubuntu14.04下安装docker
- docker简易环境搭建实战篇:以人人网开源项目(renren-fast-vue)搭建分布式部署(前端篇)
- 进入Docker容器进程及如何退出
- Docker——常用命令(四)
- Docker 基于已有镜像的容器创建镜像
- docker--端口映射与容器互联
- 在Docker中运行crontab
- Docker 容器及镜像常用操作
- 搭建Jenkins+SpringBoot+Docker的微服务持续集成框架
- 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
- 安装docker
- docker安装以及镜像加速
- 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)