文章目录

  • 简介
  • 安装
  • 我的第一个容器

简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

开发时我们会遇到很多环境,而环境的安装是比较繁琐的。
使用docker,可以直接从网上down下一个相应镜像。从网上拉下一个mysql镜像,用一条命令运行它。

优点:

  • 上手快
  • 职责的逻辑分类
  • 高校快速的开发生命周期
  • 鼓励使用面向服务的架构(微服务)

容器与虚拟机技术的比较:

  • 虚拟机运行在虚拟层(可以虚拟出各种硬件)之上。
  • 容器在Docker Engine之上运行的是二进制库,库之上安装各种应用软件。通过Docker Engine,共用主机的操作系统。所以占用空间更小。运行的速度也更加快。

DockerDaemon组件:

  • Docker守护进程
  • DockerClient客户端
  • DockerImage镜像
  • DockerContainer容器

安装

step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新并安装Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

启动:

systemctl start docker
systemctl enable docker

安装补全操作:

yum install -y bash-*

我的第一个容器

查看此时有什么容器:

[root@server1 mnt]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

可见,并没有任何镜像。我提前从网上下载了一个tar包,我们把它load到镜像上去

docker load -i game2048.tar

再次查看镜像

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

查看此镜像的历史信息

[root@server1 mnt]# docker history game2048:latest
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
19299002fdbe        3 years ago         /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "sed …   0B
<missing>           3 years ago         /bin/sh -c #(nop)  EXPOSE 80/tcp                0B
<missing>           3 years ago         /bin/sh -c #(nop) COPY dir:cb74e9c037a3d501c…   600kB
<missing>           3 years ago         /bin/sh -c #(nop)  MAINTAINER Golfen Guo <go…   0B
<missing>           3 years ago         /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
<missing>           3 years ago         /bin/sh -c #(nop)  EXPOSE 443/tcp 80/tcp        0B
<missing>           3 years ago         /bin/sh -c #(nop) COPY file:d15ceb73c6ea776c…   1.1kB
<missing>           3 years ago         /bin/sh -c #(nop) COPY file:af94db45bb7e4b8f…   643B
<missing>           3 years ago         /bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178…   50.1MB
<missing>           3 years ago         /bin/sh -c #(nop)  ENV NGINX_VERSION=1.11.7     0B
<missing>           3 years ago         /bin/sh -c #(nop)  MAINTAINER NGINX Docker M…   0B
<missing>           3 years ago         /bin/sh -c #(nop) ADD file:7afbc23fda8b0b387…   4.8MB

运行这个镜像

[root@server1 mnt]# docker run -d --name game1 -p 80:80 game2048
ef4bd229b35f9d07a09d2437b896b8b781567da1769ccde06dfdc8f08771fa28

game1是我们给容器起的名字,
-p参数是做端口映射,冒号前面是物理机端口,冒号后面是容器内端口。意思就是访问物理机80端口时直接映射到容器内

查看

[root@server1 mnt]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
ef4bd229b35f        game2048            "/bin/sh -c 'sed -i …"   5 seconds ago       Up 4 seconds        0.0.0.0:80->80/tcp, 443/tcp   game1

已经在运行了

我们打开浏览器访问一下:

Docker容器的安装并运行一个网页游戏相关推荐

  1. 解决Docker容器内安装chrome浏览器无法启动bug

    前言 之前有写过一个基于Ubuntu20.04 的Docker容器的可视化Dockerfile,当时默认火狐浏览器,今天要测试一个项目就run了一个可视化容器,但是我需要用到chrome浏览器,于是乎 ...

  2. 宝塔面板安装docker 再到docker容器里面安装宝塔

    我的服务器宝塔版本是7.9 一.docker安装 点击Docker管理器后面的安装就行 二.创建docker容器 点击设置 获取一个系统镜像 以centos:7 为例 点击获取镜像 可能有点慢 想要快 ...

  3. Docker(三):镜像导入与导出、保存与加载、在Docker容器中安装软件

    相关阅读: Docker(一):Docker的安装与常用命令 Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit Docker(三):Docker镜像导入与导 ...

  4. docker容器中安装vim

    docker容器中安装vim 在使用docker容器时,容器一般没有安装vim,就需要安装vim apt-get install vim命令用于安装vim,但是下载过慢. 第一步 配置国内镜像源 进入 ...

  5. Ubuntu在docker容器中安装TensorFlow-1.5

    本文部分参考https://blog.csdn.net/u013948858/article/details/78429954 注意以下操作在64位Ubuntu16.04或14.04下进行,不支持32 ...

  6. Docker 容器 ----介绍安装基本命令

    Docker-入门详解.部署.镜像加速.基本命令 文章目录 Docker---入门详解.部署.镜像加速.基本命令 前言 一:DOCKER理论 1.1:什么是docker?有什么作用? 1.2:Dock ...

  7. 验证docker容器相当轻量级Linux运行环境,每个容器内有属于自己的文件系统,容器之间相互隔离

    一.docker的三个重要概念 1.镜像:打包项目带上环境,即镜像 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的配置参数.镜像 ...

  8. 用kolla在docker容器里安装openstack

    用kolla在容器里安装openstack github地址:https://github.com/greatbsky/kolla-for-openstack-in-docker OpenStack是 ...

  9. 解决:bash: vim: command not found、docker 容器不识别 vi / vim 、docker 容器中安装 vim

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 在 Docker 容器中编辑文件,报错如下: bash: vim: command not f ...

最新文章

  1. fabric-smaple部署
  2. 关于怎么将Quartus和Nios程序一起固化到FPGA里面
  3. 获取指定文件夹下的所有文件名
  4. 数据大牛都在啃的10本书
  5. Celery+Rabbitmq实现异步任务
  6. 扫雷php,PHP也可以写扫雷游戏 不信看这里 PHP挖地雷
  7. 如何关闭/删除vs2005的实时调试器?
  8. MySQL系列(三)
  9. oracle 11g安装自己理解
  10. final可以修饰哪些java名词_Java关键知识点 - Java final关键字到底修饰了什么?
  11. python从入门到精通 清华大学出版社-清华大学出版社 python
  12. UDS学习笔记(六)——程序刷写
  13. ABP框架----写一个WebAPI
  14. 使用Raspberry Pi搭建迅雷离线下载机
  15. Oracle Enterprise Linux(OEL) 操作系统下载步骤及版本区别
  16. DEV gridview数据筛选
  17. 免费下载有声读物获取您自己!
  18. R语言笔记4_模型诊断(关于残差)
  19. 微信小程序的key值
  20. 曹操梦中杀人应该是可信的

热门文章

  1. ASP运行环境的搭建
  2. 高逼格的——chirp
  3. 如何跨行学习前端?一个小白的跨行之路~
  4. NLP课程-笔记-04
  5. dfs算法详解(n皇问题实现)
  6. vCenter账号权限问题
  7. html图片山写字,canvas实现田字格写字效果
  8. skype快捷键_每个Skype键盘快捷键及其用法
  9. 如何用自己电脑访问公司内网
  10. 【白板动画制作软件】万彩手影大师教程 | 添加声音