Docker的常用命令

帮助命令:

docker version                # 显示docker的版本信息

docker info                      #显示docker的系统信息

docker 命令 --help          #万能命令


镜像命令:

docker images 查看所有本地的主机上的镜像

[root@localhost /]# docker images 
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   6 months ago   13.3kB
 

# 解释

REPOSITORY               #镜像的仓库源

TAG                               #镜像的标签

IMAGE ID                      #镜像的ID

CREATED                     #镜像的创建时间

 SIZE                             #镜像的大小

# 可选项

-a, --all                       #列出所有的镜像

-q,  --quiet                  #只显示镜像的id

docker search  搜索镜像

docker pull 下载镜像

# 下载镜像

[root@localhost /]# docker pull mysql
Using default tag: latest (如果不写tag,默认使用最新版本)
latest: Pulling from library/mysql
a330b6cecb98: Pull complete    #分层下载,docker images的核心,联合文件系统
9c8f656c32b8: Pull complete 
88e473c3f553: Pull complete 
062463ea5d2f: Pull complete 
daf7e3bdf4b6: Pull complete 
1839c0b7aac9: Pull complete 
cf0a0cfee6d0: Pull complete 
1b42041bb11e: Pull complete 
10459d86c7e6: Pull complete 
b7199599d5f9: Pull complete 
1d6f51e17d45: Pull complete 
50e0789bacad: Pull complete 
Digest: 

#签名sha256:99e0989e7e3797cfbdb8d51a19d32c8d286dd8862794d01a547651a896bcf00c
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest   #真实地址

#    docker pull mysql 等价于docker.io/library/mysql:latest   

#    指定版本号: docker pull mysql:5.7

docker rmi 删除镜像

docker rmi -f 镜像id   #删除指定的镜像

docker rmi -f 镜像id 镜像id 镜像id 镜像id    #删除多个镜像,使用空格作为间隔

docker rmi -f $(docker images -aq)    #删除全部的镜像


容器命令:

说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像测试来学习

docker pull centos

新建容器并启动

docker run [可选参数] image

#参数说明

--name="Name"       容器明智 tomcat01 tomcat02,用来区分容器

-d                              后台方式运行

-it                              使用交互方式运行  进入容器查看内容

-p                              指定容器的端口  -p  8080:8080

       -p ip:主机端口:容器端口

        -p 主机端口:容器端口

        -p 容器端口

        容器端口

-P                              随机指定你跟端口 

# 测试,启动并测试容器

[root@localhost /]# docker run -it centos /bin/bash
[root@025d0cc5db62 /]# 

# 查看容器内的centos,基础版本,很多命令都是不完善的

[root@025d0cc5db62 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

# 从容器中退回主机

[root@025d0cc5db62 /]# exit
exit
 

列出所有的运行容器

# docker ps 命令

           # 列出当前正在运行的容器

-a        # 列出当前正在运行的容器+带出历史运行过的容器

-n=?    # 显示最近创建的容器   

-q        # 只显示容器的编号

[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED         STATUS                      PORTS     NAMES
025d0cc5db62   centos        "/bin/bash"   2 minutes ago   Exited (0) 45 seconds ago             dreamy_gauss
5fcda7d74208   hello-world   "/hello"      2 hours ago     Exited (0) 2 hours ago                silly_allen
6e01e48aac10   hello-world   "/hello"      2 hours ago     Exited (0) 2 hours ago                crazy_blackburn
 

退出容器

exit        # 直接容器停止并退出

Ctrl  + p + q  #容器不停止退出

[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
708832ebc008   centos    "/bin/bash"   31 seconds ago   Up 30 seconds             cranky_wiles
 

删除容器

docker rm 容器id                          # 删除指定的容器,不能删除正在运行的容器,

                                                      # 如果要强制删除 rm -f

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

docker ps -a -q | xargs docker rm  # 删除所有的容器

启动和停止容器的操作

docker start 容器id         # 启动容器

docker restart 容器id      # 重启容器         

docker stop 容器id          # 停止当前正在运行的容器

docker kill 容器id             # 强制停止当前容器


常用其他命令

后台启动容器

# 命令 docker run -d 镜像名

[root@localhost ~]# docker run -d centos
e243a0103a78e1522bddd822990f67eaca1d4e95ca9761f01334c2cb9de41181
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

# 问题docker ps,发现了centos停止了

# 常见的坑,docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止

# nginx容器启动后,发现自己没有提供服务,就会立刻停止,也就是没有程序了

查看容器中的进程

# 命令 docker top 容器id

查看镜像的元数据

命令:docker inspect 容器id

[root@localhost ~]# docker inspect 6cd2d5dd1480
 

进入当前正在运行的容器

我们通常容器都是使用后台运行的,需要进入容器,修改一些配置

# 命令

# 方式一

docker exec -it 容器id bashShell

# 进入容器后开启一个新的终端,可以在里面操作(常用)

# 测试

[root@localhost ~]# docker exec -it 6cd2d5dd1480 /bin/bash
[root@6cd2d5dd1480 /]# 

# 方式二

docker attach 容器id

# 进入容器正在执行的终端,不会启动新的进程


 

从容器内拷贝文件到主机上

docker cp 容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值