文章目录

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

简介

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. MySQL AS:设置别名
  2. JSP——EL语法总结
  3. MongoDb分片集群认证
  4. 深入浅出 Java CMS 学习笔记
  5. 田忌赛马c语言程序设计,还是杭电1052田忌赛马
  6. java二级为什么没题库_为什么刷了那么多二级java试题,却依然提高不了分数?...
  7. 微软将发布新版Win10 可能以“新 Windows”之名公布
  8. Linux主进程退出,主进程创建的线程会退出吗?
  9. mysql自带计划任务
  10. 交通流理论1——发展阶段
  11. 美团设计模式在外卖营销业务中的实践-学习笔记(一)
  12. php如何检测usbkey,检测USBkey未插入如何处理
  13. SQL 2008 -数据库的创建与管理
  14. 一行代码实现蒲公英市场APP检查更新
  15. 二开免公众号盲盒源码
  16. 高感性时代--全新思维:决胜未来的6大能力
  17. Navicat导出错误(ORA-00911: invalid character)
  18. java.lang.NoClassDefFoundError: javax/activation/DataSource
  19. 日期加减天数计算,时间戳日期相互转换
  20. 项目管理十大知识领域与49个过程,输入输出、工具与技术思维导图(PMBOK®指南第六版)

热门文章

  1. 我的一百个2019(二):我被裁掉的那一天
  2. 令人感叹的非主流操作系统收藏
  3. html5 audio支持指定开始时间和结束时间播放
  4. 天然气压缩因子计算软件_【论文】王凯等:天然气单流涡流管流场与温度场数值模拟...
  5. FLAC3D可视化后处理matlab,FLAC3D模型应力的Surfer可视化后处理.pdf
  6. 2020华为软件精英挑战赛历程总结
  7. 从CentOS 7.0升级到7.7版本
  8. EDA数字钟--由(两片74161做成的六十进制计数器)问题总结
  9. 深入浅出JS定时器:从setTimeout到setInterval
  10. 数字形态学-QRS波中的R波检测