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 镜像名称
相关推荐
激流丶10 分钟前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
Themberfue13 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
让学习成为一种生活方式30 分钟前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
晨曦_子画36 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
南宫生1 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
Heavydrink1 小时前
HTTP动词与状态码
java
ktkiko111 小时前
Java中的远程方法调用——RPC详解
java·开发语言·rpc
计算机-秋大田2 小时前
基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
java·论文阅读·spring boot·后端·vue
神里大人2 小时前
idea、pycharm等软件的文件名红色怎么变绿色
java·pycharm·intellij-idea
小冉在学习2 小时前
day53 图论章节刷题Part05(并查集理论基础、寻找存在的路径)
java·算法·图论