docker命令(最详细版)

1、查看镜像

[root@localhost ~]# docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               stable-perl         9e5f6711d527        3 days ago          178MB
nginx               v1                  9e5f6711d527        3 days ago          178MB

2、删除镜像

#删除镜像名称为docker.io/java的镜像
docker rmi  hello-world
 docker rmi -f  hello-world  #强制删除镜像

在这里插入图片描述

删除成功
在这里插入图片描述

3、tag打标签

将镜像nginx:table-perl标记为 nginx:v1 镜像。
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               stable-perl         9e5f6711d527        3 days ago          178MB
[root@localhost ~]# docker tag nginx:stable-perl nginx:v1
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               stable-perl         9e5f6711d527        3 days ago          178MB
nginx               v1                  9e5f6711d527        3 days ago          178MB
[root@localhost ~]# 

4、启动容器

启动名称为nginx:v1的镜像会创建出一个运行状态的容器
[root@localhost ~]# docker run -it --name nginx nginx:v1 bash
root@8c3423b61b0b:/# 

-it:表示启动容器后开启一个交互的界面
--name:表示为这个启动的容器命个名字,上面的”nginx“就是容器的名字。(:该选项为可选项,也可以不给容器取名字)
nginx:v1  :镜像的名称
bash:启动这个容器bash命令行
[root@localhost ~]# docker run -it --name nginx1 -p 9000:8080 -p 9001:8085 nginx:v1 bash
root@1c823326b42b:/# 

-p:宿主机端口:docker虚拟机端口
注:一个-p命令映射一个端口,多个端口的映射就在后面写多个-p参数即可
[root@localhost ~]# docker run -it --name nginx -v /home/project:/soft --privileged nginx:v1 bash
root@8d265b67e371:/#  


-v:宿主机目录:docker虚拟机的目录
--privileged:表示docker虚拟机在操作宿主机目录里面拥有最高权限
注:一个-v命令映射一个文件夹,多个文件夹的映射就在后面写多个-v参数即可
另外像数据库文件、软件配置文件建议都放在宿主机上通过映射的方式给到Docker虚拟机,这个将来在备份和恢复时就很方便


#先在宿主机上创建一个目录
mkdir /home/project1

#将上面的命令组合下启动一个容器
[root@localhost ~]# docker run -it -p 9000:8080 -p  9001:8085 -v /home/project:/soft --privileged --name nginx nginx:v1 bash
root@ea4c83eea023:/# 
这就表示已经进入了Docker虚拟机里面的环境了
#在容器里面测试一些 soft文件夹下的文件写入
cd /soft
touch hello.txt
echo Thanks > hello.txt
#退出当前容器
exit
#去当前宿主机的目录下去查看一下文件是否写入
cat /home/project/hello.txt

在这里插入图片描述

5、暂停和停止容器的命令

##最好开两个终端,先启动一个容器,切换到另一个终端暂停和停止操作
[root@localhost ~]# docker ps -a | grep nginx
c9ea8833a451        nginx:v1            "bash"              28 seconds ago      Up 27 seconds           80/tcp, 0.0.0.0:9000->8080/tcp, 0.0.0.0:9001->8085/tcp   nginx

#暂停容器名为myjava的容器 命令格式:docker pause 容器名称|容器编号
[root@localhost ~]# docker pause nginx


#启动(用于被pause暂停了的容器)容器名为myjava的容器 命令格式:docker unpause容器名称|容器编号
[root@localhost ~]# docker unpause nginx


#停止容器名为myjava的容器 命令格式:docker stop 容器名称|容器编号
[root@localhost ~]# docker stop nginx


#启动(用于被stop停止了的容器)容器名为myjava的容器 命令格式:docker start -i 容器名称|容器编号
[root@localhost ~]# docker start -i nginx   ## 重新进入docker虚拟机
root@c9ea8833a451:/# 

6、 删除容器命令

#删除容器名为myjava的容器,前提是该容器必须是通过stop完全停止了的容器

[root@localhost ~]# docker ps -a |grep  nginx
a92fd6ce42fe        nginx:v1            "bash"              About a minute ago   Exited (0) 16 seconds ago                       nginx
[root@localhost ~]# docker rm nginx
nginx

#查看所有的容器 #删除成功
docker ps -a

7、导出镜像

[root@localhost ~]# docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               stable-perl         9e5f6711d527        3 days ago          178MB
nginx               v1                  9e5f6711d527        3 days ago          178MB

##导出镜像名称为nginx:v1的镜像
[root@localhost ~]# docker save nginx:v1 > /root/nginx.tar.gz

##导入镜像(load用来导入由docker save备份的镜像。)  #我这里没有删除所以没有提示
[root@localhost ~]# docker load < /root/nginx.tar.gz 
Loaded image: nginx:v1

8、更新镜像内容

##查看镜像 
[root@k8s1 ~]# docker images | grep centos   
centos   7.6     32b4fcafa5fa   2 hours ago         5.06GB

语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

##-d: 后台运行容器,并返回容器ID;如果加-d参数再次进入命令   docker exec -it tomcat /bin/bash

##-i: 以交互模式运行容器,通常与 -t 同时使用;
##启动镜像-p 将容器8080端口映射--宿主机端口8081,访问http://宿主机ip:8081 就可以访问到容器tomcat页面 
--name别名  centos:7.6镜像名称 
[root@k8s1 ~]# docker run -it  -p 8081:8080 --name=tomcat centos:7.6 /bin/bash

[root@ee5061569494 /]# cat /etc/rc.local 
    #!/bin/bash
    省略部分
    /usr/local/tomcat7/bin/startup.sh     ##添加内容,开机自动启动
[root@ee5061569494 /]# exit

[root@k8s1 ~]# docker ps -a | grep tomcat  ##查看启动容器ID:为ee5061569494 
ee5061569494    centos:7.6  "/bin/bash" 49 seconds ago   Exited (0) 15 seconds ago   tomcat

语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
##-m :提交时的说明文字;-a :提交的镜像作者;
[root@k8s1 ~]# docker commit -m="has update" -a="root"  ee5061569494  llxxyy/centos7.6-tomcat:v1 
sha256:952212f8b4f9e516efd6ee67a4e470dae2fb0b3de140f32731af3ac1903fedff

[root@k8s1 ~]# docker images | grep centos
llxxyy/centos7.6-tomcat    v1     952212f8b4f9   20 seconds ago      5.06GB
centos                     7.6    32b4fcafa5fa    2 hours ago        5.06GB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker 是一个开源的容器化平台,可以帮助开发者通过容器技术实现应用程序的快速部署、可移植性和可扩展性。以下是一些常用的 Docker 命令及其解读: 1. docker run:运行一个容器。使用该命令可以基于指定的镜像创建并启动一个容器实例。 2. docker pull:从 Docker 镜像仓库中拉取一个镜像。镜像是一个预先配置好的文件系统,可以用来创建容器。 3. docker build:根据 Dockerfile 构建一个镜像。Dockerfile 是一个包含构建指令的文本文件,用于定义镜像的构建过程。 4. docker images:列出本地已经下载的镜像列表。 5. docker ps:列出正在运行的容器列表。加上 -a 参数可以显示所有容器,包括已经停止运行的。 6. docker exec:在正在运行的容器中执行命令。可以通过该命令进入容器内部并执行指定的命令。 7. docker stop:停止一个正在运行的容器。 8. docker rm:删除一个已经停止运行的容器。 9. docker rmi:删除一个本地已经下载的镜像。 10. docker-compose up:通过 Docker Compose 启动多个容器。Docker Compose 是用于定义和管理多个 Docker 容器的工具。 这些是一些常用的 Docker 命令,可以帮助你进行容器的创建、管理和操作。请注意,还有更多的命令和参数可以用于更精确地控制 Docker 容器和镜像的行为。你可以通过运行 `docker --help` 命令查看更多详细命令说明和使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值