《Docker Deep Dive》Note - 纵观 Docker
《Docker Deep Dive》Note
由于GFW的隔离,国内拉取镜像会报TLS handshake timeout的错误;需要配置 registry-mirrors 为国内源解决这个问题。
可以配置为阿里的加速源:https://cr.console.aliyun.com/undefined/instances/mirrors,阿里的加速器可以提升获取Docker官方镜像的速度。
登录开发者账号后,将自己的加速器地址复制到 Docker Settings > Daemon > Registry mirrors 中,并点击 Apply 按钮,等待 Docker 重启完成即可。
纵观 Docker
1. 运维视角
1.1 镜像
- docker pull
- docker image ls
# 拉取一个镜像
$ docker pull ubuntu:lastest
latest: Pulling from library/ubuntu
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Downloaded newer image for ubuntu:latest
# 查看拉取的镜像
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 775349758637 9 days ago 64.2MB
1.2 容器
- docker container run
- docker container ls
- 快捷键 Ctrl+P+Q
# 启动容器
# -it 参数会将 Shell 切换到容器终端
$ docker container run -it ubuntu:latest /bin/bash
root@90eb9f237521:/#
按Ctrl + P + Q组合键,可以在退出容器的同时还保持容器运行。
# windows下可以通过 tasklist 命令查看进程
$ tasklist /FI "imagename eq docker*"
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
Docker for Windows.exe 13972 Console 5 102,560 K
Docker.Watchguard.exe 3772 Services 0 2,252 K
Docker.Watchguard.exe 4032 Services 0 2,228 K
# 查看系统内全部处于运行状态的容器
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
90eb9f237521 ubuntu:latest "/bin/bash" 21 minutes ago Up 21 minutes focused_shaw
1.3 连接到运行中的容器
- docker container exec
- docker container stop
- docker container rm
- docker container ls -a
# 将 shell 连接到一个运行中的容器终端
# docker container exec <options> <cotainer-name or container-id> <command/app>
$ docker container exec -it 90eb9f237521 bash
root@90eb9f237521:/#
# 停止一个容器
$ docker container stop 90eb9f237521
90eb9f237521
# 杀死一个容器
$ docker container rm 90eb9f237521
90eb9f237521
# 再次执行 docker container ls 可以查看容器是否已经被删除
# -a 参数可以列出所有(包括停止状态)容器
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 可以看到容器 90eb9f237521 已经被删除了
2 开发视角
容器即应用。
- docker image build
# 构建一个镜像
$ docker image build -t test:lastest .
...
Successfully built afe9c1f8a70f
Successfully tagged test:lastest
# 查看已经构建的镜像
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
test lastest afe9c1f8a70f 44 seconds ago 71.5MB
# 应用容器化
$ docker container run -d --name web1 --publish 8080:8080 test:lastest
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
946d5306bb5e test:lastest "node ./app.js" 13 seconds ago Up 12 seconds 0.0.0.0:8080->8080/tcp web1
# 此时打开浏览器 localhost:8080 即可看到运行的应用
The end.
Last updated by Jehorn 11/10 2019
《Docker Deep Dive》Note - 纵观 Docker的更多相关文章
- 《Docker Deep Dive》Note - Docker 引擎
<Docker Deep Dive>Note Docker 引擎 1. 概览 graph TB A(Docker client) --- B(daemon) subgraph Docker ...
- docker operation method note
docker stop script #!/bin/bash CID_LIST=$(docker ps -q | xargs)if [ "$CID_LIST" = "&q ...
- X64 Deep Dive
zhuan http://www.codemachine.com/article_x64deepdive.html X64 Deep Dive This tutorial discusses some ...
- Docker私有云管理平台————Docker Shipyard
一.shipyard中文版安装(CentOS) 注:本文安装操作均在root用户下,安装前需先安装Docker (传送门) 下载所需docker镜像 docker pull rethinkdb doc ...
- 【Docker学习之二】Docker部署安装
环境 docker-ce-19.03.1-3.el7.x86_64 一.Docker的部署安装 Docker采用Linux(内核)技术,所以只能运行在Linux上,官方说Linux kernel至少3 ...
- Deep Dive into Neo4j 3.5 Full Text Search
In this blog we will go over the Full Text Search capabilities available in the latest major release ...
- 理解Docker(8):Docker 存储之卷(Volume)
(1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 ...
- 理解Docker(7):Docker 存储 - AUFS
(1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 ...
- 理解Docker(5):Docker 网络
本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
随机推荐
- [RN] React Native 常用命令行
[RN] React Native 常用命令行 1.查看当前版本 react-native --version 或 react-native -v 2.创建指定版本的React Native项目 1) ...
- 2016级移动应用开发在线测试12-service
有趣有内涵的文章第一时间送达! 喝酒I创作I分享 生活中总有些东西值得分享 @醉翁猫咪 1. Service是Android系统中的四大组件之一(Acitivty.Service.ContentPr ...
- Android App专项测试
https://www.jianshu.com/p/141b84f14505 http://www.cnblogs.com/finer/p/9601140.html 专项 概念 adb命令 App启动 ...
- Apache ranger整合hive报错记录
版本信息如下: hadoop2.9.2 hive 2.x ranger 最新版2.1.0 在hive端部署完ranger 插件以后,在使用beeline连接查询数据库时报错,报错信息如下: verbo ...
- 安装OpenStack Queens版本的教程推荐
为了加深对OpenStack的理解,需要自己分模块安装一次,之前都是用devstack安装,傻瓜式安装虽然方便,但是也减少了我对OpenStack理解的深度. 本人参考如下文档安装成功过 http:/ ...
- session机制,浏览器禁用cookie后,怎么使用session
sessionid是存储在cookie中的,解决方案如下: Session URL重写,保证在客户端禁用或不支持COOKIE时,仍然可以使用Session session机制.session机制是一种 ...
- Python绘制3D图形
来自:https://www.jb51.net/article/139349.htm 3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行 ...
- gdal 根据条件选择数据
- MongoDB笔记: 常见问题
系统配置 设置ulimit MongoDB的文件机制 每个Collection会单独创建一个数据文件(collection-xxxxxx.wt) 每个索引会单独创建一个文件(index-xxxxxx. ...
- Java线程同步的Monitor机制(Lock配合Condition)
Monitor模式是一种常见的并行开发机制, 一个Monitor实例可以被多个线程安全使用, 所有的monitor下面的方法在运行时是互斥的, 这种互斥机制机制可以用于一些特性, 例如让线程等待某种条 ...