Docker镜像和容器管理(二)
Docker镜像管理
https://hub.docker.com/ 是公共的一个Docker镜像仓库,类似GitHub一样,上面有非常多的开源项目镜像。
可以直接在命令行搜索镜像
[root@dns-server ~]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. [OK]
ansible/centos7-ansible Ansible on Centos7 [OK]
jdeathe/centos-ssh CentOS- 6.10 x86_64 / CentOS- 7.5. x86… [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session… [OK]
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 [OK]
NAME 镜像名称 、DESCRIPTION 镜像说明 、 STARS 点赞数量 、 OFFICIAL 是否是官方的 、 AUTOMATED 是否是自动构建的
获取镜像,默认tag是最新的 centos:latest
[root@dns-server ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
Digest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b
Status: Image is up to date for centos:latest
查看当前主机镜像列表
[root@dns-server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 75835a67d134 weeks ago 200MB
可以看到一个 CentOS镜像 才 200MB , 详细介绍 参考链接:https://blog.csdn.net/CloudMan6/article/details/71105101
导出镜像,默认tag是latest
[root@dns-server ~]# docker save -o centos.tar centos:latest
[root@dns-server ~]# ls
centos.tar
导入镜像
[root@dns-server ~]# docker load -i centos.tar
Loaded image: centos:latest
或者
[root@dns-server ~]# docker load < centos.tar
Loaded image: centos:latest
删除镜像,镜像创建成容器时,是不能删除的。
[root@dns-server ~]# docker rmi centos
Untagged: centos:latest
Untagged: centos@sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b
查看镜像详细信息
[root@dns-server ~]# docker image inspect system/centos
Docker容器管理
运行容器
docker run 是启动容器的方法,启动时会在本地检测是否有镜像,没有会从公共仓库拉取。
[root@server2 ~]# docker run centos /bin/echo "Hello world"
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
aeb7866da422: Already exists
Digest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b
Status: Downloaded newer image for centos:latest
Hello world
容器的生命周期依赖于启动时执行的命令,只要该命令不结束,容器也就不会退出。上面的命令是 /bin/echo "Hello world" ,执行完容器就会退出。
docker run常用参数
--name 指定容器名称
-i 进入容器
-t 分配一个伪终端tty
-p 指定端口映射
-P 随机端口映射
docker run --help 查看帮助
查看容器
docker ps 查看运行中的容器 -a 查看所有容器。
[root@server2 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@server2 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8a6f19d985fd centos "/bin/echo 'Hello wo…" minutes ago Exited () minutes ago confident_hermann
5373272349bf centos "/bin/echo 'Hello wo…" minutes ago Exited () minutes ago jolly_wozniak
0560af19b61f wordpress "docker-entrypoint.s…" days ago Exited () days ago some-wordpress
89e2964c1e14 mysql:latest "docker-entrypoint.s…" days ago Exited () hours ago some-mysql
查看容器详细信息
[root@dns-server ~]# docker container inspect myredis
停止容器
[root@dns-server ~]# docker stop 容器名称或ID
删除容器
[root@dns-server ~]# docker rm 容器名称/ID
-f 强制删除
##删除所有容器
[root@dns-server ~]# docker rm $(docker ps -a -q)
在docker run 创建时加上--rm参数,容器退出后自动删除。
进入容器
docker attach 容器名称/ID
nsenter 进入容器
#!/bin/bash # Use nsenter to access docker basedir=`cd $(dirname $); pwd -P`/$
if [ $# -ne ];then
echo "Usage: $basedir {CONTAINER ID | CONTAINER NAMES}" && exit
fi docker_in(){
NAME_ID=$
PID=$(docker inspect -f "{{ .State.Pid }}" $NAME_ID)
nsenter -t $PID -m -u -i -n -p
} docker_in $
exec进入容器
#!/bin/bash
name=$
basedir=`cd $(dirname $); pwd -P`/$
if [ $# -eq ];then
docker exec -it $name /bin/bash
else
echo "Usage: $basedir {CONTAINER ID | CONTAINER NAMES}" && exit
fi
Docker官方网站:https://www.docker.com/
Docker镜像和容器管理(二)的更多相关文章
- Docker 镜像与容器管理
镜像与容器简介 Docker的大部分操作都围绕着它的三大核心概念:镜像.容器.仓库而展开.因此,准确把握这三大核心概念对于掌握Docker技术尤为重要,在docker中,我们重点关注的就是镜像和容器了 ...
- Docker学习笔记四:Docker镜像、容器管理工具shipyard
一.拉取以下几种镜像: docker pull alpineshipyard/shipyarddocker pull swarm docker pull shipyard/shipyarddocker ...
- 【docker专栏8】使用IDEA远程管理docker镜像及容器服务
使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员.测试人员),这种情况下图形界面就有 ...
- Docker镜像和容器
本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...
- docker镜像、容器
第一部分:Docker镜像的基本知识 1.1 什么是Docker镜像 从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角 ...
- Docker背后的容器管理——Libcontainer深度解析
Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcon ...
- docker系列四之docker镜像与容器的常用命令
docker镜像与容器的常用命令 一.概述 docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人 ...
- Docker容器化【Docker镜像与容器相关命令】
# Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...
- docker 入门(docker 镜像 、容器、仓库)
一.关于docker 镜像 .容器.仓库之间的关系 镜像(Image): 类似于虚拟机 的镜像 容器(Container): 类似于操作系统(或者说是独立的软件), 由镜像可以创建大量的容器. 仓库( ...
随机推荐
- ASP.NET Core Razor 视图导入 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Razor 视图导入 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Razor 视图导入 上一章节我们介绍了视图起始页,学习 ...
- ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF SQLite 支持 上一章节我有提 ...
- 新版本MenuDemo——使用Duilib模拟Windows本机菜单
相信玩Duilib朋友已经开始期待一个很长的文章.由于我的文章在一周前公布--"无焦点窗体的实现"里面提到了无焦点窗体在菜单里面的应用,并承诺大家,写一个关于Menu实现的Demo ...
- NS2网络模拟(6)-homework02.tcl
1: #NS2_有线部分\homework02.tcl 2: 3: #Create a simulator object 4: set ns [new Simulator] 5: 6: #Define ...
- 运行该脚本出现/bin/sh^M: bad interpreter: No such file or directory
错误中脚本文件的一个非常可能的原因是DOS格的, 即每一行的行尾以\r\n来标识, 其ASCII码各自是0x0D, 0x0A. 能够有非常多种办法看这个文件是DOS格式的还是UNIX格式的, 还是M ...
- Android手势识别的发展
在播放器.与手势识别.所以,看看今天的我们Android手势识别. 首先,我们需要站在巨人的肩膀上.有些人举了个例子和说明. 第一章: http://www.2cto.com/kf/201110/10 ...
- Nucleus PLUS系统架构和组件
(一个)方法论和软件组件 1.软件组件(Software Component)定义 从一般意义上来说.组件(Component)是系统中能够明白辨识的组成部分,一个不透明的功能实现体.软件开发中,组件 ...
- docker include not found: networks
启动clickhouse的docker镜像时,出现了以下错误 include not found: networks google之后发现是因为可能不支持ipv6导致的解决方法 就是通过设置 /etc ...
- 协程在Web服务器中的应用(配的图还不错)
协程(纤程,微线程)这个概念早就有之,各家互联网公司也都有研究,但在国内各大论坛和大会热起来,还是今年的事. 最近参与讨论开放平台建设和架构设计过程中,有同事提到了使用协程代替线程,能够很大幅度的提高 ...
- C# 不重启程序修改并保存配置文件(appSettings节点)
原文:C# 不重启程序修改并保存配置文件(appSettings节点) private static void UpdateAppConfig(string newKey, string newVal ...