Ubuntu Docker 安装 使用(1)
学习目标:
Docker 安装
Docker Hello world
Docker 容器使用
学习内容:
1、Ubuntu Docker 安装
使用官方安装脚本自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
更新 apt 包索引。
$ sudo apt-get update
安装 apt 依赖包,用于通过HTTPS来获取仓库:
$ sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
添加 Docker 的官方 GPG **:
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的**。
使用以下指令设置稳定版仓库
安装 Docker Engine-Community:
更新 apt 包索引。
安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:
使用第二列中的版本字符串安装特定版本,例如 5:18.09.13-0ubuntu-xenial。
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
2、Docker Hello World
使用 docker run 命令来在容器内运行一个应用程序。
输出Hello world
我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
第二行[email protected]…表示,我们已进入一个 ubuntu15.10 系统的容器
我们尝试在容器中运行命令 cat /proc/version和ls分别查看当前系统的版本信息和当前目录下的文件列表
输入 exit 或 ctrl+D退出容器
启动容器(后台模式)
此时输出不是hello worle 而是一串长字符 串,这个长字符串叫做容器ID,我们可以通过容器 ID 来查看对应的容器发生了什么
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
created(已创建)
restarting(重启中)
running 或 Up(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
使用 docker logs 命令,查看容器内的标准输出:
.png#pic_center)
停止容器
我们使用 docker stop 命令来停止容器
3、Docker容器使用
输入 docker命令可以查看Docker所有命令
容器使用
获取镜像
如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:
以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器
启动已停止运行的容器
先查看所有容器命令 ,然后用docker start 启动一个已停止的容器
后台运行
在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
停止一个容器
停止容器和重启动容器的命令
docker stop
docker restart
进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach 如果从这个容器退出,会导致容器的停止。
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
从 exec 退出。不会导致容器的停止
删除容器
用docker rm命令删除容器
下面的命令可以清理掉所有处于终止状态的容器。
$ docker container prune