Docker(一)--简介及其部署与简单应用

一.docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器

docker架构:

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。

二.搭建docker

1.获取docker安装包并安装
在这里插入图片描述
2.打开docker,查看相关信息

[root@server1 docker]# systemctl start docker.service 
[root@server1 docker]# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.06.1-ce
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 logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
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: server1
ID: OADG:XF6V:ABNB:VH5H:EWVI:CEBS:6UEW:HTSC:WNDB:EZZC:IUSA:XQ5Y
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

注意:docker初始化会刷新防火墙,不要重启防火墙防止后面的端口影射出现问题

三.运行2048小游戏

1导入2048镜像

[root@server1 ~]# ls
docker  game2048.tar
[root@server1 ~]# 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

在这里插入图片描述2.查看是否导入成功

[root@server1 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
game2048            latest              19299002fdbe        2 years ago         55.5MB

3.创建容器

[root@server1 ~]# docker run -d -p 80:80 --name vm1 game2048		
##-d是打入后台,–name表示为这个容器起了一个名字为vm1 前面的80是server1这个物理机的端口。后面的80是容器的端口
a5d01a3defddac9ac1913affd4618aee09a07400ffdb087da55791d2b1899451

4.查看容器状态

[root@server1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
a5d01a3defdd        game2048            "/bin/sh -c 'sed -i …"   7 seconds ago       Up 6 seconds        0.0.0.0:80->80/tcp, 443/tcp   vm1

5.测试:
在浏览器访问172.25.31.1
在这里插入图片描述
在这里插入图片描述

四.docker常用命令

docker load -i  game2048.tar 导入镜像
docker run -d -p 80:80 --name vm1 game2048 创建容器,其中以game2048为镜像,添加端口映射
docker ps  ##查看可用容器
docker ps -a 查看所有容器,包括可用的和没有正常退出容器导致容器不可用的
docker attach vm1  进入容器
docker top vm1 查看容器进程
docker logs vm1 查看容器指令输出
docker inspect vm1 查看容器详细信息
docker status vm1  查看容器的资源使用率
docker diff vm1  查看容器的修改
docker stop vm1   停止容器  
docker start  vm1  启动容器
docker kill  vm1  强制停止容器
docker rm -f  vm1 删除容器,后面也可直接输入容器id
docker rmi  删除镜像

ctrl+pq   结束docker与内核的交互式界面,但不停止容器,在后台运行的
ctrl+d   直接结束容器,释放内存,但是镜像还在,只是在可用容器里面查不到,但是在所有容器里面还是可以查看到容器信息的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值