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 镜像名称
相关推荐
吾日三省吾码7 分钟前
JVM 性能调优
java
弗拉唐1 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
海岛日记1 小时前
centos一键卸载docker脚本
linux·docker·centos
oi772 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
少说多做3432 小时前
Android 不同情况下使用 runOnUiThread
android·java
知兀2 小时前
Java的方法、基本和引用数据类型
java·笔记·黑马程序员
蓝黑20202 小时前
IntelliJ IDEA常用快捷键
java·ide·intellij-idea
Ysjt | 深2 小时前
C++多线程编程入门教程(优质版)
java·开发语言·jvm·c++
shuangrenlong3 小时前
slice介绍slice查看器
java·ubuntu