docker(三) 镜像和容器常用命令
一、镜像操作
1.搜索镜像
可以直接在Docker Hub 直接搜索镜像,当然也可以使用命令来搜索。
docker search 名称
docker search tomcat
2.拉取镜像
docker pull 镜像名
#拉取redis3.0
docker pull redis:3.0
3.查看镜像列表
Docker镜像保存在/var/lib/docker
docker images
docker images -a
docker images -q(显示id)
4.删除镜像
docker rmi 镜像名
#删除hello-world镜像
docker rmi hello-world #强制删除有容器依赖的镜像
docker rmi -f hello-world
二、容器操作
1.创建容器
①docker create
可以先通过docker create创建容器,再通过docker start启动
②docker run
创建并启动容器(运行时容器)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
[OPTIONS]:
- -d: 后台运行容器,并返回容器ID;
- --name="xx": 为容器指定一个名称;
- -i:以交互模式运行容器,通常与 -t 同时使用;
- -t:为容器分配虚拟终端,允许发信号给容器。tty
- -P: 随机端口映射;
- -p: 指定端口映射,有以下四种格式
例子:
# 基于最新版redis镜像创建容器,命名为myredis,将主机的16379端口映射到容器内的6379端口。
docker create --name myredis -p : redis:latest
2.列出容器
docker ps [OPTIONS]
[OPTIONS]:
- -a:显示所有容器,包括未运行的
- -l:显示最近创建的容器
- -n:显示最近创建的n各容器
3.启动/停止/重启容器
docker start 容器ID/容器名
docker stop 容器ID/容器名
docker restart 容器ID/容器名
4.删除容器
#删除容器
docker rm 容器ID/容器名 #强制删除运行中的容器
docker rm -f 容器ID/容器名
- -f :强制删除运行中的容器
- -l :移除容器间的网络连接,而非容器本身
- -v :删除与容器关联的卷
5.在运行的容器中执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
例子:
#进入到redis容器中,并开启一个交互模式的终端
docker exec -it redis /bin/bash #在容器mynginx中以交互模式执行容器内/root/runoob.sh脚本
docker exec -it mynginx /bin/sh /root/runoob.sh
使用ctrl + d退出容器
6.查看容器的日志
docker logs 容器
Options:
- -f, 跟踪日志输出
- -t, 显示时间戳
docker logs -f redis
三、上传镜像到阿里云镜像仓库
可以将本地镜像上传到Docker Hub上,也可以上传到其它服务器,例如阿里云镜像仓库。上传到hub上太慢了,这里选择上传到阿里云镜像仓库中。
可以参考阿里云官网的教程:上传本地镜像
1.先要有阿里云账号,登录容器镜像服务控制台。
2.设置阿里云 Docker registry 登录密码
如果是首次访问,系统会提示您进行初始化设置。设置您的登录密码,并单击确定。
3.创建命名空间。
4.创建镜像仓库。
接下来可以进入管理,查看具体的操作指南
5.执行Docker登录命令,并输入密码。
sudo docker login --username=阿里云用户名 registry.cn-beijing.aliyuncs.com
6.重命名镜像。
- 如果您本地的镜像是通过构建生成的,构建过程中需要指定 tag 信息。
$ sudo docker tag [镜像id] registry.cn-beijing.aliyuncs.com/命名空间/仓库:[镜像版本号]
- 如果您本地的镜像是从其它仓库下载的,已有了 registry 名、命令空间、仓库名和 tag 名称,上传到阿里云 registry 之前需要执行 Docker tag 命令进行修改。
[root@localhost application]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 4ab4c602aa5e 2 months ago 1.84kB
[root@localhost application]# sudo docker tag 4ab4c602aa5e registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0
7.上传镜像到阿里云 Docker registry。
sudo docker push registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0
8. 从Registry中拉取镜像
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:hello-world-1.0
更多详情请参考阿里云官网的教程:上传本地镜像
docker(三) 镜像和容器常用命令的更多相关文章
- Docker的镜像及容器常用操作(2)
一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器 ...
- Docker系列教程05 容器常用命令
https://mp.weixin.qq.com/s?__biz=MzI4ODQ3NjE2OA==&mid=2247483890&idx=1&sn=2721f08624e6de ...
- Docker基础修炼2--Docker镜像原理及常用命令
通过前文的讲解对Docker有了基本认识之后,我们开始进入实战操作,本文先演示Docker三要素之镜像原理和相关命令. 本文的演示环境仍然沿用上一篇文章在本地Centos7中安装的环境,如果你本地没有 ...
- Docker容器化【Docker镜像与容器相关命令】
# Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- docker-管理容器常用命令
1. docker-管理容器常用命令 2. docker管理容器常用命令 1) docker ps 显示当前正在运行的容器 [root@test-1 ~]# docker ps CONTAINER ...
- Docker小白到实战之常用命令演示,通俗易懂
前言 上一篇大概认识了Docker,主要是从概念.架构.优点及流程方面进行阐述,并进行安装和体验: 接下来就开始进行实操学习,在演示过程中会针对关键的知识点进行归纳和总结,这里先从常用命令说起,来吧, ...
- 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)
一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...
- 『现学现忘』Docker常用命令 — 21、容器常用命令(三)
目录 13.进入正在运行的容器并以命令行交互 (1)方式一 (2)方式二 (3)attach和exec的区别 14.从容器内拷贝文件到主机上 15.Docker常用命令小结 (1)容器生命周期管理 ( ...
随机推荐
- 实时显示数据 SignalR 及时消息提醒( 立即向其推送内容)
实时显示数据 SignalR 及时消息提醒( 立即向其推送内容) http://www.cnblogs.com/Leo_wl/p/5634910.html <!--Reference the ...
- Dapper批量操作实体
首先要安装 Dapper.Contrib,直接从nuget安装即可. dapper官方文档:http://dapper-tutorial.net/dapper T Get<T>(id); ...
- .NET CORE 使用Session报错:Session has not been configured for this application or request
报错信息:Session has not been configured for this application or request 解决方案:在Startup.cs文件中的Configure方法 ...
- JQuery官方学习资料(译):CSS
JQuery提供了一个处理方法,可以获取或设置元素的CSS属性. // 获取 CSS 属性 $( "h1" ).css( "fontSize" ); / ...
- xxxx-xx-xx的时间的加减
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...
- (一)MYSQL ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.10.210' (111) 解决方法
今天在测试MySQL的连接时候,发现连接不通过,并报错ERROR 2003 (HY000): Can't connect to mysql server on '192.168.10.210' (11 ...
- [ SHELL编程 ] 字符串空格和文件空行删除
1.删除字符串中空格 (1)删除行首空格 (2)删除行尾空格 (3)删除前.后空格,不删除中间空格 (4) 删除字符串中所有空格 echo " 123 567 " | sed 's ...
- Android 启动APP时黑屏白屏的解决方案
在开发中,我们在启动app的时候,屏幕会出现一段时间的白屏或者黑屏,不同设备时间长短不同.很影响用户体验. 首先分析一下,产生这个现象的原因,当我们在启动一个应用时,系统会去检查是否已经存在这样一个进 ...
- windows键盘按键输入错乱;
问题:打字异常,打字乱码: 最佳解决方案:下载工具快速修复: 链接: 链接:https://pan.baidu.com/s/1GpWT-MljgQHorLNMhQ9eOg提取码:anh0 官网文档原因 ...
- Python编写脚本(输出三星形状的‘*’符号)
环境:python3.* 心得:个人认为脚本非我强项,以下效果可以有更简单解决方案,纯属练习逻辑. 方案一: s=1 while s<=10: #这是决定多少列,起始为1,大循环一圈即加一,就是 ...