Docker

什么是容器:?
什么是Docker
Docker的特点:
Docker的优势:
进程隔离:
什么是镜像:


环境准备:关闭防火墙和selinux

安装docker:(配置 yum 源,安装 docker)
[root@coker1 ~]# ls
docker-engine-1.12.1-1.el7.centos.x86_64.rpm          RPM-GPG-KEY-CentOS-7
docker-engine-selinux-1.12.1-1.el7.centos.noarch.rpm

[root@coker1 ~]# yum install  docker-engine-*


启动docker服务:
[root@coker1 ~]# systemctl  start docker
[root@coker1 ~]# systemctl  enable  docker

查看网卡信息:(启动后可以查看到docker0)
[root@coker1 ~]# yum install  net-tools
[root@coker1 ~]# ifconfig 
docker0: flags=4099  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
        ether 02:42:a2:6a:f0:11  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@coker1 ~]# docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        
 OS/Arch:      linux/amd64

使用docker ,(查看公共镜像)
[root@coker1 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

查看官方提供的镜像库:
[root@coker1 ~]# docker search nginx

下载镜像文件:
[root@coker1 ~]# docker search busybox
[root@coker1 ~]# docker pull busybox

备份镜像为tar包:
[root@coker1 ~]# docker save busybox:latest  > busybox.tar
[root@coker1 ~]# ls
busybox.tar

传给另一个docker服务器:
[root@coker1 ~]# scp busybox.tar  192.168.1.5:/root

恢复备份的tar包
[root@coker2 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[root@coker2 ~]# docker load < busybox.tar
f9d9e4e6e2f0: Loading layer 1.378 MB/1.378 MB
Loaded image: busybox:latest
[root@coker2 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              e1ddd7948a1c        2 weeks ago         1.163 MB

                                                 镜像基本操作
导入镜像文件:
[root@room9pc01 nsd1804]# scp /root/12.cloud/cloud\ 4/docker\ 1/docker_images.zip  192.168.1.50:/root
导出镜像为tar包文件(方便其他主机使用镜像)
[root@coker1 ~]# unzip  docker_images.zip 
Archive:  docker_images.zip
   creating: docker_images/
  inflating: docker_images/nginx.tar  
  inflating: docker_images/redis.tar  
  inflating: docker_images/centos.tar  
  inflating: docker_images/registry.tar  
  inflating: docker_images/ubuntu.tar  

导入所有文件:
[root@coker1 ~]# cd docker_images/
[root@coker1 docker_images]# for i in *
> do
> docker load  < ${i}
> done

所有的docker命令:
[root@coker1 ~]# docker ps    //正在运行中的容器
[root@coker1 ~]# docker ps  -a  //曾经所有的运行的容器
[root@coker1 ~]# docker ps  -aq  //只显示id
[root@coker1 ~]# docker inspect  centos   //查看详细的信息

[root@coker1 ~]# docker run -it centos /bin/bash
WARNING: IPv4 forwarding is disabled. Networking will not work.
[root@b09d9ac6f3c8 /]# 


[root@b09d9ac6f3c8 /]# ls
anaconda-post.log  dev  home  lib64  mnt  proc  run   srv  tmp  var
bin                etc  lib   media  opt  root  sbin  sys  usr
[root@b09d9ac6f3c8 /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 03:45 ?        00:00:00 /bin/bash
root        15     1  0 03:48 ?        00:00:00 ps -ef

docker是启用两种进程:前台可交互的(-it),后台可运行(-d)
[root@coker1 ~]# docker run  -it nginx 

[root@coker1 ~]# docker run  -d  nginx 
WARNING: IPv4 forwarding is disabled. Networking will not work.
6b921542e43bcf41c7552da609d76d346661cc4ff35722620c2eb323fd10f41e
[root@coker1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6b921542e43b        nginx               "nginx -g 'daemon off"   9 seconds ago       Up 7 seconds        80/tcp, 443/tcp     silly_ptolemy


[root@coker1 ~]# docker run  -d  centos /bin/bash
WARNING: IPv4 forwarding is disabled. Networking will not work.
cf07fe93d0553634bf5f4e0a790cd42f2cd72a1609aa734ddf544ca408af5d3d
[root@coker1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6b921542e43b        nginx               "nginx -g 'daemon off"   3 minutes ago       Up 3 minutes        80/tcp, 443/tcp     silly_ptolemy
[root@coker1 ~]# docker ps -a  | grep cf07fe
cf07fe93d055        centos              "/bin/bash"              43 seconds ago      Exited (0) 39 seconds ago                       kickass_jones

[root@coker1 ~]# docker  run -it busybox
WARNING: IPv4 forwarding is disabled. Networking will not work.
/ # ls
bin   dev   etc   home  proc  root  sys   tmp   usr   var

[root@coker1 ~]# docker run -it centos /usr/bin/python

重命名镜像名称(复制):
[root@coker2 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              e1ddd7948a1c        2 weeks ago         1.163 MB
[root@coker2 ~]# docker tag  busybox:latest xxxx
[root@coker2 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              e1ddd7948a1c        2 weeks ago         1.163 MB
xxxx                latest              e1ddd7948a1c        2 weeks ago         1.163 MB

启动和关闭容器:
[root@coker1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6b921542e43b        nginx               "nginx -g 'daemon off"   About an hour ago   Up About an hour    80/tcp, 443/tcp     silly_ptolemy
[root@coker1 ~]# docker stop 6b921
6b921
[root@coker1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@coker1 ~]# docker start 6b9215
6b9215
[root@coker1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6b921542e43b        nginx               "nginx -g 'daemon off"   About an hour ago   Up 3 seconds        80/tcp, 443/tcp     silly_ptolemy

查看容器的ip地址:
[root@coker1 ~]# docker inspect -f "{{.NetworkSettings.IPAddress}}" a4f6
172.17.0.3

[root@coker1 ~]# docker rm $(docker stop $(docker ps -qa))

[root@coker1 ~]# for i in {1..9}
> do
> docker run -d nginx
> done

进入容器:(两种方式)
[root@coker1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
9f9d049bacf3        centos              "/bin/bash"         28 seconds ago   

[root@coker1 ~]# docker  exec -it  9f bash  //exit退出,容器还在运行

[root@coker1 ~]# docker attach 0bf9    //exit退出,容器不在运行

查看容器的进程列表:
[root@coker1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
de7658cf81e8        centos              "/bin/bash"         5 seconds ago       Up 3 seconds                            cranky_brahmagupta
[root@coker1 ~]# docker top de
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                15301               15288               0                   05:45               pts/0               00:00:00            /bin/bash




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值