docker容器的安装与使用

------------恢复内容开始------------

什么是Docker:

  docker是一个开源的应用容器引擎,是基于go语言并遵循人Apache2.0协议开源。

  docker容器是完全使用沙箱制,相互之间不会有任何接口,(类似ipone的app),更重要的是容器性能开销极低

docker的应用场景:

  web应用的自动化打包与发布

  自动化测试和持续集成,发布

  在服务型环境中部署和调整数据库或其他的后台应用

  从头编译或者拓展现有的Openshift或cloud Foundry 平台来搭建自己的PaaS环境

docker的优点:

  用于开发,交付和运行应用程序的开放平台,docker能够将应用程序与基础架构分开,从而可以快速交付软件。借助docker可以管理应用程序相同的方式来管理基础架构。通过利用docker的方法来快速交付,测试和部署代码,可以大大减少编写代码和生产环境的中运行代码之间的延迟

  1. 快速,一致地交付应用程序

  2.响应式部署和扩展

  3.在同一硬件上运行更多工作负载

docker的安装:(Ubuntu下)

如果有旧版本的docker,请先卸载后再执行安装命令

  卸载指令:

sudo apt-get remove docker docker-engine docker.io containerd runc
View Code

  1. 更换国内软件源。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
View Code

  2.安装需要的包

sudo apt install apt-transport-https ca-certificates software-properties-common curl
View Code

  3.添加GPG密钥,并添加Docker-ce 软件源,还是以中国科技大学的Docker-ce源为例

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
View Code

  4.添加成功后更新软件包缓存

sudo apt update
View Code

  5.安装Docker-ce

sudo apt install docker-ce
View Code

  6.设置开机自启动并启动Docker(安装成功后默认已设置并启动,可忽略)

sudo systemctl enable docker
sudo systemctl start docker
View Code

  7.测试运行

sudo docker run hello-world
View Code

  8.添加当前用户到Docker用户组,可以不用sudo运行docker(可选)

sudo groupadd docker
sudo usermod -aG docker $USER
View Code

  9.测试添加用户组

docker run hello-world
View Code

Docker的使用:

  1.在容器内运行程序,比如使用 docker run 命令来在容器内运行一个应用程序 

docker run ubuntu:15.10 /bin/echo "hello world"
hello world

参数解析:
    1. docker  : Docker的二进制执行文件
    2. run : 与前面的docker组合来运行一个容器
    3. ubuntu15.10  指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker就会从镜像仓库Docker Hub 下载公共镜像。(也就是你安装的ubuntu版本号)
    4. /bin/echo "hello world"  : 在启动的容器里执行的命令

上述命令完整意思可以解释为:DOcker以ubuntu15.10镜像创建一个新容器,然后再容器中执行bin/echo "hello world", 然后输出执行结果
View Code

  2. 运行交互式的容器

  通过docker的两个参数 -i  -t  , 让docker运行的容器实现 ” 对话 “ 的能力

docker run -i -t ubuntu:15.10 /bin/bash

参数解析
    -t : 在新容器内指定一个伪终端或终端。
    -i : 允许你对容器内的标准输入 (STDIN) 进项交互

执行完成后,会进入到一个ubuntu15.10 系统的容器中
View Code

  3. 查看版本信息和当前目录下的文件列表

(在容器模式下)
查看版本号 : cat /proc/versio
查看当前目录下的文件列表 : ls
View Code

  4. 退出容器

  使用exit,或者ctrl + D

  5. 启动容器(后台模式)

创建一个以进程方式运行的容器

(ubuntu终端)
docker run -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

在输出中,并不会出现期望的“hello world” 而是一长串字符
这串长字符串叫做容器ID ,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么

首先,我们需要确认容器有在运行,可以通过docker ps 来查看
docker ps

输出结果:
CONTAINER ID    IMAGE            COMMAND                     CREATED         STATUS            PORTS    NAMES
39771f265f7f      ubuntu:18.04  "/bin/sh -c 'while t..."     7 minutes ago   Up 7 minutes                        
unruffled_swirles
View Code

输出详情介绍 :

CONTAINER ID:容器 ID

IMAGE: 使用的镜像

COMMAND:启动容器时运行的命令

CREATED:容器创建的时间

STATUS:容器状态

状态有七种:

  created :已创建

  restaring:重启中

  running:运行中

  removing:迁移中

  paused:暂停

  exited:停止

  dead :死亡

PORTS:容器的端口信息

------------恢复内容结束------------

猜你喜欢

转载自www.cnblogs.com/liguodeboke/p/11807158.html