Docker——基本使用及常用命令
Docker 是一个开源的应用容器引擎,而一个容器其实是一个虚拟化的独立的环境,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker的局限性之一,它只能用在 64 位的操作系统上。
1.命令介绍
$ docker --help 管理命令:
container 管理容器
image 管理镜像
network 管理网络
命令:
attach 介入到一个正在运行的容器
build 根据 Dockerfile 构建一个镜像
commit 根据容器的更改创建一个新的镜像
cp 在本地文件系统与容器中复制 文件/文件夹
create 创建一个新容器
exec 在容器中执行一条命令
images 列出镜像
kill 杀死一个或多个正在运行的容器
logs 取得容器的日志
pause 暂停一个或多个容器的所有进程
ps 列出所有容器
pull 拉取一个镜像或仓库到 registry
push 推送一个镜像或仓库到 registry
rename 重命名一个容器
restart 重新启动一个或多个容器
rm 删除一个或多个容器
rmi 删除一个或多个镜像
run 在一个新的容器中执行一条命令
search 在 Docker Hub 中搜索镜像
start 启动一个或多个已经停止运行的容器
stats 显示一个容器的实时资源占用
stop 停止一个或多个正在运行的容器
tag 为镜像创建一个新的标签
top 显示一个容器内的所有进程
unpause 恢复一个或多个容器内所有被暂停的进程
2.服务管理
CentOS 6.5
service docker start # 启动 docker 服务,守护进程
service docker stop # 停止 docker 服务
service docker restart # 重启 docker 服务
chkconfig docker on # 设置为开机启动
CentOS 7
systemctl start docker # 启动 docker 服务,守护进程
systemctl stop docker # 停止 docker 服务
systemctl restart docker # 重启 docker 服务
chkconfig docker on # 设置为开机启动
3.常用命令
查看版本
docker version

查看当前docker所有镜像
docker images

查看状态
service docker status
查看信息
docker info

4.镜像管理
在线搜索镜像
docker search tomcat

start代表受欢迎程度。OFFICIAL代表官方版本
拉取镜像
# docker pull [镜像名称]:[版本]
docker pull tomcat:7
上传镜像
docker push wcjiang/nginx-test:lastest
- 通过dockerfile创建镜像
docker build -t tomcat8:v1 .
通过容器创建镜像
docker commit -m="First Docker" -a="wcjiang" a6b0a6cfdacf wcjiang/nginx:v1.2.1
上面命令参数说明:
-m提交的描述信息-a指定镜像作者a6b0a6cfdacf记住这个是容器id,不是镜像idwcjiang/nginx:v1.2.1创建的目标镜像名
为镜像打标签
docker tag wcjiang/nginx:v1.2.1 wcjiang/nginx-test:lastest
5.容器管理
在容器中运行hello world
docker run centos echo "hello word"
在容器中安装wget程序
docker run centos yum install -y wget
查看所有的容器
docker ps #列出包括未运行的容器
docker ps -a #查看所有容器(包括正在运行和已停止的),返回列表
docker ps -aq #只返回容器id


查看容器日志
docker logs -f -t --since="2020-01-16" --tail=500 bsm 查看bsm容器日志
停止容器
docker stop <CONTAINER ID> #停止某个容器
docker stop $(docker ps -aq) #停止所有的容器
启动容器
docker start <CONTAINER ID>
删除容器
docker rm <CONTAINER ID> #删除某个容器
docker rm $(docker ps -aq) #删除所有容器
删除镜像
docker rmi <IMAGE NAME> #按容器名称删除
docker rmi -f <IMAGE ID> #按容器ID删除
docker rmi $(docker images -q) #删除所有的镜像
进入容器
docker exec -it <CONTAINER ID> bash
注:这个bash退出也不会影响之前 docker run 启动的 bash/,按【Ctrl + D】键退出bash
运行容器(nginx)
# 下面的命令将本地文件中的 nginx.conf 配置文件挂载到容器,并且将要展示的静态页面也挂载到容器。
docker run --name my-nginx \
-v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /some/html:/usr/share/nginx/html:ro \
-p 8080:80 \
-d nginx
上面参数说明:
-v:设置挂载路径,语法为-v host dir:container dir[:ro|rw]- --name:为容器取一个名字
- -p:参数语法为
-p host port:container port; -p 8080:80 将主机上的8080端口绑定到容器上的80端口,因此在主机中访问8080端口时其实就是访问 nginx 容器的80端口 - -d:后台运行容器
运行容器(mysql)
docker run --name my-mysql \
-p 3306:3306 \
-v $PWD/conf/my.cnf:/etc/mysql/my.cnf \
-v $PWD/logs:/logs \
-v $PWD/data:/mysql_data \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
上面参数说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口-v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs-v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
检查容器
docker inspect 容器名称

Docker——基本使用及常用命令的更多相关文章
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
- docker的安装及常用命令
一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...
- Docker的入门及常用命令
Docker入门及常用命令 1. 各个容器之间是相互隔离状态: 这样减少了我们软件之间的影响. 2. docker是os层虚拟化架构的一种产品体现, os层虚拟化架构出来的操作系统需要和宿主机操作系统 ...
- Docker第二弹之常用命令
Docker的常用命令 底层原理 Docker是如何工作的 Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从 ...
- 【Docker】docker的安装和常用命令
一.docker安装和启动 1.yum 命令 yum install docker 2.docker启动命令 sudo systemctl start docker 二.docker常用命令 dock ...
- docker入门资料及常用命令
Docker17中文开发手册 :https://www.php.cn/manual/view/36147.html Linux部署Docker及常用命令: https://www.cnblog ...
- CentOS-yum安装Docker环境(含:常用命令)
安装Docker环境 $ yum install docker -y 启动Docker $ systemctl start docker 设置自启动 $ systemctl enable docker ...
- Docker学习总结(三)--常用命令
镜像相关命令 查看镜像 docker images 返回列表字段含义如下: 字段名称 字段含义 REPOSITORY 镜像名称 TAG 镜像标签 IMAGE ID 镜像 ID CREATED 镜像创建 ...
- docker的介绍以及常用命令
一.docker的介绍 1. Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚 ...
随机推荐
- [hash-bfs]USACO 3.2 Magic Squares 魔板
魔 板 魔板 魔板 题目描述 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色 ...
- Apache Hudi 0.8.0版本重磅发布
1. 重点特性 1.1 Flink集成 自从Hudi 0.7.0版本支持Flink写入后,Hudi社区又进一步完善了Flink和Hudi的集成.包括重新设计性能更好.扩展性更好.基于Flink状态索引 ...
- 关于ArrayList 中子方法 -- contains 疑惑解决
写之前先看下 ArrayList 子函数 contains 的Api 怎么介绍: boolean contains(Object o) 如果此列表中包含指定的元素,则返回 true ...
- 《疯狂Kotlin讲义》读书笔记4——流程控制
流程控制 与Java类似,Kotlin同样提供了两种基本的流程控制结构:分支结构和循环结构. Kotlin提供了 if 和 when 两种分支语句,其中 when 语句可以代替Java的switch语 ...
- element UI el-autocomplete 带输入建议的输入框
项目需求:需要用户在输入框中输入公司 全名 但是为了避免用户输入不全 需要做一个带输入建议的输入框 参考:https://www.jianshu.com/p/de922caf337c
- JVM调优基础到进阶
GC和GC Tuning GC的基础知识 1.什么是垃圾 C语言申请内存:malloc free C++: new delete c/C++ 手动回收内存 Java: new ? 自动内存回收,编程上 ...
- Day02_15_方法重载
方法重载 1.什么是方法重载? * 方法重载又被称为 OverLoad,是指在同一个类中,具有相同方法名的不同方法,各个方法虽然方法名相同,但是各自的形式参数不同. 2.什么时候考虑使用方法重载? * ...
- WebGL之绘制三维地球
通过Three.js也许可以很方便的展示出3D模型,但是你知道它是怎么一步一步从构建网格到贴图到最终渲染出3D模型的吗?现在我们直接使用底层的webgl加上一点点的数学知识就可以实现它. 本节实现的效 ...
- 数据结构(5):Java实现二叉树
二叉树图: package com.test.Sort; import java.util.ArrayList; import java.util.LinkedList; public class B ...
- linux下export命令添加删除环境变量
Linux export命令参数 功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量. ...