Docker的简单介绍以及环境配置

一.Docker的简单介绍
  • Docker 是一个开源的应用容器引擎,
  • 开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上
  • 也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口;
  • 由Docker客户端、Docker Daemon守护进程、Docker Image镜像、DockerContainer容器组成。
Docker 的优点
  • 轻量级:所有容器在一台机器上共享同一个操作系统内核,这样他们立即开始,并更有效地利用内存。Image 是从分层文件系统的构建,这样他们能够共享公共文件,使得磁盘使用率和 Image 的下载更加高效。
  • 开放:Docker 容器是基于开发的标准,允许容器运行在主流的 Linux 发布版和 Microsoft 操作系统作为所有的基础设施。
  • 安全:容器使得应用程序彼此隔离,而基础架构同时为应用程序提供了额外的保护层。
Docker 与 虚拟机的区别
  • 每个虚拟机都包括应用程序、必要的二进制文件和库以及一个完整的客户操作系统(Guest OS),尽管它们被分离,它们共享并利用主机的硬件资源,将近需要十几个 GB 的大小。
  • 容器包括应用程序及其所有的依赖,但与其他容器共享内核。它们以独立的用户空间进程形式运行在主机操作系统上。他们也不依赖于任何特定的基础设施,Docker 容器可以运行在任何计算机上,任何基础设施和任何云上。
docker部署安装
下载安装包以及解决依赖

需要下载安装包:
docker-ce.x86、 docker-ce-cli.x86_64、 containerd.io.x86、container-selinux.noarch

阿里云开源镜像网站(在这里下能比较快一点,):http://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/、
也可以在官网进行下载:https://docs.docker.com/

安装docker,同时还会自动安装其他依赖软件,需要提前设置好系统yum源,可以使用7.3或者7.5的镜像源

yum install docker-ce.x86_64 docker-ce-cli.x86_64 containerd.io.x86_64 container-selinux.noarch

设置net.bridge.bridge-nf-call-iptables

[root@toto6 yum.repos.d]# sysctl -a |grep iptables
net.bridge.bridge-nf-call-iptables = 0
[root@toto6 yum.repos.d]# sysctl -w net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-iptables = 1
[root@toto6 yum.repos.d]# sysctl -p

该参数不进行设置,在使用docker网络桥接的话,会出现异常。

启动docker服务,并设置开机自动启动。

systemctl enable docker
systemctl start docker
安装成功之后查看docker信息

系认会自动产生一个docker网络接口

[root@toto6 yum.repos.d]# ip addr show 
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:26:d0:11:de brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

查看docker安装版本信息
docker version

[root@toto6 yum.repos.d]# docker version    # 查看版本的命令
Client:   #docker客户端的信息
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        2d0083d
 Built:             Thu Jun 27 17:56:06 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community    # docker引擎的版本信息
 Engine:
  Version:          18.09.7
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       2d0083d
  Built:            Thu Jun 27 17:26:28 2019
  OS/Arch:          linux/amd64
  Experimental:     false

docker info : 显示 Docker 系统信息,包括镜像和容器数

[root@toto6 yum.repos.d]# docker info 
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.7
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-514.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 992.7MiB
Name: toto6
ID: JGAB:PGSC:ZQKK:ZQ7W:IT2L:KDRI:V6XW:NTCI:YFDU:RMEW:UPJI:YZZX
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

WARNING: bridge-nf-call-ip6tables is disabled
docker常用命令
docker load -i 镜像名                       #导入镜像
 docker run -i --name 容器名  镜像名         #创建容器以镜像为模版
docker ps                                  #查看运行的容器状态
 docker ps -a                              #查看容器状态(包或不活跃的容器)
 docker attach vm1                         #连接容器
 docker top vm1                            #查看容器进程
 docker logs vm1                           #查看容器指令输出  -f参数可以实时查看
 docker inspect vm1                        # 查看容器详情
 docker stats  vm1                         #查看容器资源使用率
 docker diff vm1                           #查看容器修改
 docker stop vm1                           #停止容器
 docker start vm1                          # 启动容器
 docker kill vm1                           #强制杀死容器进程
 docker restart vm1                        #重启容器
 docker rm   vm1                           #删除容器
 docker pause/uppause  vm1                 #暂停/恢复容器

docker 对镜像的所有操作命令

[root@toto6 ~]# docker image 
build    import   load     prune    push     save     
history  inspect  ls       pull     rm       tag 

docker 对容器的所有操作命令

[root@toto6 ~]# docker container 
attach   create   export   logs     port     restart  start    top      wait
commit   diff     inspect  ls       prune    rm       stats    unpause  
cp       exec     kill     pause    rename   run      stop     update

docker 对volume的所有操作命令

[root@toto6 ~]# docker volume 
create   inspect  ls       prune    rm   

docker 对网络的所有操作命令

[root@toto6 ~]# docker network 
connect     create      disconnect  inspect     ls          prune       rm
运行简单的容器

导入镜像

[root@toto6 images]# docker load -i game2048.tar 
011b303988d2: Loading layer   5.05MB/5.05MB
36e9226e74f8: Loading layer  51.46MB/51.46MB
192e9fad2abc: Loading layer  3.584kB/3.584kB
6d7504772167: Loading layer  4.608kB/4.608kB
88fca8ae768a: Loading layer  629.8kB/629.8kB
Loaded image: game2048:latest

运行容器:

[root@toto6 images]# docker run -d --name vm1 -p 80:80   game2048
c4e5e91a5042cc4a938e3cab2981e925edd2c1ec6bd9b741c83caf0245036d4d
##--name 是自己给容器的命名 -p作端口预设    物理机端口:docker 端口  
##注意物理机端口必须是没被占用的,此时访问server宿主机的时候会直接到docker 容器

查看运行的容器

[root@toto6 images]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                         NAMES
c4e5e91a5042        game2048            "/bin/sh -c 'sed -i …"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 443/tcp   vm1
[root@toto6 images]# docker inspect vm1

浏览器访问查看运行结果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值