docker常用容器命令

首先说下容器:

它是指当docker运行镜像时,创建了一个隔离环境,称之为 容器

这种方式优点:可以开启多个服务,服务之前是互相隔离的(比如:在一台服务器上可以开启多个mysql,可以是多个不同版本或者多个相同版本,这样如果多个项目依赖不同mysql版本,也可以部署在同一台服务器上)。

1、创建并运行一个容器

此命令会检查镜像是否存在,不存在会先远程下载,下载完之后,运行。

复制代码
docker run -d --name 自定义容器名称 -p 外网访问的端口:实际端口 运行镜像的名字

解释:
-d:后台运行;
--name: 给容器起一个名字,需要唯一;
-p 外网访问端口:容器实际的端口

运行镜像名称:镜像名称一般由:[repository]:[tag]组成,其中repository就是镜像名称,tag是镜像版本号(可以通过 docker images来查下某个镜像名称及tag)。

2、重启、停止容器进程

复制代码
// 启动容器进程,注意与run的区别
docker start 容器id
// 重启容器进程
docker restart 容器id
// 停止当前正在运行的容器进程
docker stop 容器id 
// 强制停止当前容器进程
docker kill 容器id

注:
(1)docker stop 是指停止容器进程,容器还在!不是把容器给删除掉了!
(2)docker run xxx 是指创建一个容器,而且每次run 都会创建一个新容器;
(3)docker start xxx 是指启动已经停掉的容器进程;
(4)说白了,docker start/stop/restart/kill 这几个命令是在docker run xxx 之后才会有的。

3、查看容器的进程状态

复制代码
docker ps 

4、删除容器

复制代码
// 删除有一个容器
docker rm 容器id或者容器名称

// 如果当前容器正在运行,可以强制删除
docker rm -f 容器id或者容器名称

// 删除所有的容器
docker rm -f $(docker ps -aq)

5、一张图来总结上边介绍的命令:

6、小例子 - 下载nginx

下载、运行nginx

复制代码
// 下载nginx
docker pull nginx

// 运行nginx
docker run -d --name nginx -p 3782:80

查看镜像及后台运行nginx:

在物理机访问虚拟机上docker nginx容器服务:

注意:
外界只能通过3782端口访问nginx,如果直接通过80端口是访问不到的!!!

7、进入nginx容器中

容器中会有自己独立的文件系统,当然只是模拟的。

复制代码
docker exec -it nginx /bin/bash

解释:
-it:可交互的终端;
nginx:容器名称;
/bin/bash:进入容器之后使用什么命令进行交互(这里使用命令行)。

退出内部容器:exit

8、把本地镜像打包成一个tar文件

复制代码
// 镜像名称可以使用docker imags来查看
// -o 输出到哪一个文件,output
docker save -o 镜像名称.tar

9、加载本地tar镜像包

加载本地tar镜像包,相当于docker pull xxx 下载一个镜像,只不过这个镜像已经下载完了且已经打包成一个tar文件了,现在需要加载到docker 中。

复制代码
docker load -i xxx.tar

10、打印日志

复制代码
docker logs 镜像名称
相关推荐
喜欢你,还有大家2 小时前
Docker-仓库-镜像制作
运维·docker·容器
工业甲酰苯胺3 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫3 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@3 小时前
【JAVA】LinkedList与链表
java·python·链表
LilySesy4 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
六件套是我4 小时前
redission实现延时队列
android·java·servlet
王元_SmallA4 小时前
Redis Desktop Manager(Redis可视化工具)安装
java·后端
ᐇ9594 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
好好研究4 小时前
Spring框架 - 开发方式
java·后端·spring
武子康5 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j