您的位置:首页 > 运维架构 > Docker

docker

2019-06-10 21:13 1206 查看

容器的定义:由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速

     ----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

 

 


 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: