Docker常用命令汇总,和常用操作举例
Docker命令
docker 常用命令如下
管理命令:
container 管理容器
image 管理镜像
network 管理网络
node 管理Swarm节点
plugin 管理插件
secret 管理Docker secrets
service 管理服务
stack 管理Docker stacks
swarm 管理Swarm集群
system 查看系统信息
volume 管理卷
如:docker container ls 显示所有容器
普通命令:
attach 进入一个运行的容器
build 从一个DockerFile构建镜像
commit 从容器创建一个镜像
cp 从容器和主机文件系统之间拷贝文件
create 创建一个容器
diff 检查容器文件系统上的更改
events 从服务器获取实时事件
exec 在正在运行的容器中运行命令
export 将容器的文件系统导出为tar存档
history 显示镜像的历史记录
images 查看镜像列表
import 从归档文件中创建镜像
info 显示系统范围的信息
inspect 返回Docker对象的低级信息
kill kill运行中的容器
load 从存档或者STDIN加载镜像
login 登陆docker镜像仓库
logout 退出docker镜像仓库
logs 获取一个容器的日志
pause 暂停一个或多个容器中的所有进程
port 查看端口映射或容器的特定映射列表
ps 查看容器列表
pull 从镜像仓库拉取镜像
push 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
rename 重命名容器
restart 重启容器
rm 删除容器
rmi 删除镜像
run 创建一个新的容器并运行一个命令
save 将指定镜像保存成 tar 归档文件
search 从Docker Hub搜索镜像
start 启动容器
stats 实时显示容器资源使用情况的统计信息
stop 停止容器
tag 标记本地镜像,将其归入某一仓库
top 展示一个容器中运行的进程
unpause 恢复容器中所有的进程
update 更新容器配置
version 显示Docker的版本信息
wait 阻塞直到容器停止,然后打印退出代码
如:docker images 显示所有镜像
下面将分别介绍一些常用操作
docker 拉取并运行一个镜像
1、下载镜像
$ docker pull centos
2、查看已经下载的镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 49f7960eb7e4 6 weeks ago 200MB
hello-world latest f2a91732366c 8 months ago 1.85kB
3、运行一个镜像并生成容器
//运行一个centos镜像,并执行/bin/bash命令
$ docker run centos /bin/bash
输入命令docker ps或者docker container ls查看运行中的容器,发现列表为空,原因是容器在执行完成命令后会自动退出,下面介绍让让容器停留在后台的方法
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
使用命令docker ps -a或者docker container ls -a 查看所用容器,并显示了容器的状态
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5525373371f3 centos "/bin/bash" 7 minutes ago Exited (0) 7 minutes ago nifty_rosalind
docker 让镜像运行停留在后台
1、启动一个容器并后台运行
docker run命令 通过增加-i -t参数可以让容器并进入容器
docker run -i -t centos /bin/bash
按 Ctrl + P + Q 退出容器,再用 docker ps 进行查看
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
61b041e4e063 centos "/bin/bash" 3 minutes ago Up 3 minutes nervous_saha
状态显示仍在运行中
docker 进入一个运行的容器
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
36afde543eb5 mysql:5.7 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp mymysql
$ docker exec -it 36afde543eb5 /bin/bash
-i 保持STDIN打开 -t 分配一个虚拟TTY窗口
docker 提交一个镜像到镜像仓库
1、首先到https://hub.docker.com/注册一个账号,保存下用户名密码 2.控制台登陆dockerhub账户
$ docker login
输入刚注册的用户名密码
2、查看镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest f06a5773f01e 2 days ago 83.4MB
3、选择需要上传的镜像,重命名为指定的格式
$ docker tag redis username/myredis:v1
username:为自己注册的用户名
myredis:为自己为镜像取的名字
v1:为任意设置的版本号
4、完成上述操作后,即可提交镜像到自己的仓库
docker push username/myredis:v1
docker 映射文件从宿主机到容器,端口号映射
//将宿主机的81端口映射到容器的80端口
//将宿主机的/develop/data卷,映射到容器的/data卷
$ docker run -i -t -p 81:80 -v /develop/data:/data centos /bin/bash
-p:映射端口号 -v:磁盘目录映射
docker 更改端口号映射
运行中的容器无法映射新的端口号,也无法更改端口号映射,但可以通过两种方法解决
1、iptable转发端口
//查看容器ip
$ docker inspect 36afde543eb5 | grep IPAddress
"IPAddress": "172.17.0.2"
//将主机的8081端口映射到宿主机的8080端口
$ iptables -t nat -A DOCKER -p tcp --dport 8081 -j DNAT --to-destination 172.17.0.2:8080
2、先提交容器为镜像,再运行这个容器,同时指定新的端口映射
//提交容器为镜像
$ docker commit 9995ffa15f46 mycentos:0.1
//停止旧的容器
$ docker stop 9995ffa15f46
//重新从旧的镜像启动容器
$ docker run -i -t -p 8081:8080 mycentos:0.1
从DockerFile创建镜像
$ docker build -t myimage:v1 .
-t :指定镜像名称和标签,格式为'name:tag' .: 最后一个点代表当前目录,也可以换成其它的路径
原文地址:https://www.cnblogs.com/cblogs/p/dockerCommand.html
Docker常用命令汇总,和常用操作举例的更多相关文章
- Docker笔记:常用命令汇总
Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- Oozie命令行常用命令汇总[转]
Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...
- vim常用命令汇总
vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...
- 【Linux】Linux 常用命令汇总
查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...
- [svc][op]vim常用命令汇总
vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...
- 54. Android中adb常用命令及应用常用目录
本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...
- docker的常用命令汇总
1================================================================================ docker 列出每个容器的IP ...
- Docker容器常用命令汇总
Docker常用命令总结如下: # 查看docker详细信息 docker info # 获取当前节点所有容器 docker ps -a # 管理容器生命周期 docker [start|stop|r ...
随机推荐
- Unity3D笔记六 GUI游戏界面
1.Label:标签控件,可以在游戏中用来展示文本字符串信息,不仅可以写字还可以贴图片. 2.Button:按钮控件,一般分图片按钮和普通的按钮,还有一个连续按钮RepeatButton注意,这个在W ...
- IntelliJ Idea 2018 注册码
转自:http://idea.lanyus.com/ *.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀 请搭建自己的IntelliJ IDEA授权服务 ...
- 利用trace重建控制文件
以下步骤,内容都在ora11g_ora_.trc文件中 CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS ARCHIV ...
- JS/Java/Python格式化金额
//java代码 public static void main(String[] args) { DecimalFormat myformat = new DecimalFormat(); ...
- MySQL数据库连接池导致页面登录无法查询问题解决过程
环境为tomcat+mysql 页面卡在登录界面或者登录后点击查询卡死,tomcat日志 连接池不可达 原因连接池不可用 解决办法 停止tomcat然后等待主机所有连接mysql的链接完全关闭再启动t ...
- Oracle体系结构之Oracle分区
目录 Oracle分区 0 一.Oracle分区理论知识 1 二.分区表的实现方式 1 1.范围分区(range partition table) 1 2.列表分区(list partitioning ...
- MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具
mybatis – MyBatis 3 | 日志 http://www.mybatis.org/mybatis-3/zh/logging.html MyBatis 内置日志工厂基于运行时自省机制选择合 ...
- Day19 客户关系系统实战
day19 今日内容 Service事务 客户关系管理系统 Service事务 在Service中使用ThreadLocal来完成事务,为将来学习Spring事务打基础! 1 DAO中的事务 ...
- Ubuntu操作异常汇总
1.使用Ubuntu的apt-get安装软件时出现以下错误: Reading package lists... Done Building dependency tree... Done Packag ...
- mysql 数据操作 单表查询 group by 聚合函数
强调: 如果我们用unique的字段作为分组的依据,则每一条记录自成一组,这种分组没有意义 多条记录之间的某个字段值相同,该字段通常用来作为分组的依据 如果按照每个字段都是唯一的进行分组,意味着按照这 ...