01Docker常用命令

1. docker 常用命令
#1.查看docker相关信息
[root@hs-10-20-18-175 docker_fc]# docker info
Containers: 12
 Running: 1
 Paused: 0
 Stopped: 11
Images: 13
Server Version: 1.12.6
#2.查看当前机器所有镜像
[root@hs-10-20-18-175 docker_fc]# docker images
REPOSITORY                                            TAG                 IMAGE ID            CREATED                  SIZE
192.168.44.132/uc20/uc-zgv20190204000                 uc20                5eba8fd7d56f        Less than a second ago   20.89 GB
192.168.44.132/o4uft/pf1.0v201801.01.000_20200515fb   o4uft               309dd2cc4018        Less than a second ago   25.06 GB
192.168.44.132/uc20/ucv20180104000                    uc20                b70848ddab55        7 months ago        21.58 GB
#3.删除镜像文件
[root@hs-10-20-18-175 docker_fc]# docker rmi b7
Untagged: 192.168.44.132/uc20/ucv20180104000:uc20
Untagged: 192.168.44.132/uc20/ucv20180104000@sha256:738c347b34e91fce1d21d6e9c88310e93423543b2fba6ddba39110c23528d938
Deleted: sha256:b70848ddab5566f18c64c15c435802b13366020d43e640277d7acb84beebb02d
Deleted: sha256:a29a209f71bab2550de85a847a698914f583cf37bbd8c6578be0fa48682690a3
Deleted: sha256:86618bf944d184a7758f9552ac66c2c4f719b528a92216d2b213b5abab13c513
#4.其他镜像操作命令
4.1-# docker pull REPOSITORY:TAG 下载镜像文件
4.2-# docker push REPOSITORY:TAG 上传镜像文件
4.3-# docker tag IMAGEID REPOSITORY:TAG 重命名镜像文件
4.4-# docker import pf20170331.tar 通过压缩包制作镜像
#5.查看容器信息
#5.1.查看运行中的容器
[root@hs-10-20-18-175 docker_fc]# docker ps
CONTAINER ID        IMAGE                                        COMMAND             CREATED             STATUS              PORTS                                                           NAMES
fa6b43edfb6b        192.168.44.132/uc20/uc-zgv20190204000:uc20   "bash"              11 years ago        Up 11 years         0.0.0.0:1521->1521/tcp, 0.0.0.0:5123->5123/tcp, 0.0.0.0:5127->5127/tcp, 0.0.0.0:5224->5224/tcp, 0.0.0.0:9003->9003/tcp, 0.0.0.0:9009->9009/tcp, 0.0.0.0:9898->9898/tcp, 0.0.0.0:15827->15827/tcp, 0.0.0.0:15841->15841/tcp, 0.0.0.0:15844-15845->15844-15845/tcp, 0.0.0.0:15858-15859->15858-15859/tcp, 0.0.0.0:15861->15861/tcp, 0.0.0.0:15864->15864/tcp, 0.0.0.0:2024->22/tcp, 0.0.0.0:1524->1522/tcp   uc-zgv20190204000

#5.2.查看所有容器,包括没有运行的
[root@hs-10-20-18-175 docker_fc]# docker ps -a
CONTAINER ID        IMAGE                                        COMMAND             CREATED             STATUS              PORTS                                                           NAMES
c0ebd191999f        192.168.44.132/o4uft/pf1.0v201801.01.000_20200515fb:o4uft   "dumb-init bash"    11 years ago        Exited (137) 11 years ago                                             pf1.0v201801.01.000_20200515fb
fa6b43edfb6b        192.168.44.132/uc20/uc-zgv20190204000:uc20                  "bash"              11 years ago        Up 11 years                  0.0.0.0:1521->1521/tcp, 0.0.0.0:5123->5123/tcp, 0.0.0.0:5127->5127/tcp, 0.0.0.0:5224->5224/tcp, 0.0.0.0:9003->9003/tcp, 0.0.0.0:9009->9009/tcp, 0.0.0.0:9898->9898/tcp, 0.0.0.0:15827->15827/tcp, 0.0.0.0:15841->15841/tcp, 0.0.0.0:15844-15845->15844-15845/tcp, 0.0.0.0:15858-15859->15858-15859/tcp, 0.0.0.0:15861->15861/tcp, 0.0.0.0:15864->15864/tcp, 0.0.0.0:2024->22/tcp, 0.0.0.0:1524->1522/tcp   uc-zgv20190204000
cb822aa012a7        192.168.44.132/o4uft/pf1.0v201801.01.000_20191227fb:o4uft   "dumb-init bash"    11 years ago        Exited (137) 11 years ago                                        pf1.0v201801.01.000_20191227fb

#5.3.查看运行中的容器(只显示容器id)
[root@hs-10-20-18-175 docker_fc]# docker ps -q
fa6b43edfb6b

#5.4.查看所有容器,包括没有运行的(只显示容器id)
[root@hs-10-20-18-175 docker_fc]# docker ps -aq
fa6b43edfb6b
cb822aa012a7
#6.1.停止容器运行
#查看运行中的容器id
[root@hs-10-20-18-175 docker_fc]# docker ps -q
fa6b43edfb6b
#使用容器id停止运行中的容器
[root@hs-10-20-18-175 docker_fc]# docker stop fa
fa
#6.2.启动容器
#查看所有容器id
[root@hs-10-20-18-175 docker_fc]# docker ps -aq
fa6b43edfb6b
cb822aa012a7
#使用容器id启动运行中的容器
[root@hs-10-20-18-175 docker_fc]# docker start fa
fa
##查看运行中的容器id
[root@hs-10-20-18-175 docker_fc]# docker ps -q
fa6b43edfb6b
#7.删除容器(删除容器前需要先停止容器)
#查看所有容器id
[root@hs-10-20-18-175 docker_fc]# docker ps -aq
fa6b43edfb6b
cb822aa012a7
#根据容器id删除容器
[root@hs-10-20-18-175 docker_fc]# docker rm fa
fa
[root@hs-10-20-18-175 docker_fc]# docker ps -aq
cb822aa012a7
#删除全部容器
[root@hs-10-20-18-175 docker_fc]# docker rm $(docker ps -qa)
#8.容器操作
#8.1.进入容器内部
[root@hs-10-20-18-175 docker_fc]# docker exec -it f74fe392e9132042a51fc4c51896e8051fc59a3585e2576580e147cb4ad11b54  /bin/bash
[root@f74fe392e913 /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
#8.2.退出容器内部
[root@hs-10-20-18-175 docker_fc]# exit
#9.1.修改容器名称(可以用于一个镜像搭建两套容器)
[root@hs-10-20-18-175 docker_fc]# docker ps -a
CONTAINER ID        IMAGE                                                       COMMAND             CREATED             STATUS                       PORTS                                                                                                                NAMES
f74fe392e913        192.168.44.132/uc20/uc-zgv20190204000:uc20                  "bash"              27 hours ago        Exited (137) 6 minutes ago                                                                                                                       uc-zgv20190204000
b9eb76fdd09b        192.168.44.132/o4uft/of20170630c_20200312fb:o4uft           "dumb-init bash"    3 weeks ago         Exited (137) 11 years ago                                                                                                                              of20170630c_20200312fb

[root@hs-10-20-18-175 docker_fc]# docker rename uc-zgv20190204000 uc-zgv20190204000_old
[root@hs-10-20-18-175 docker_fc]# docker ps -a
CONTAINER ID        IMAGE                                                       COMMAND             CREATED             STATUS                       PORTS                                                                                                                NAMES
f74fe392e913        192.168.44.132/uc20/uc-zgv20190204000:uc20                  "bash"              27 hours ago        Exited (137) 6 minutes ago                                                                                                                       uc-zgv20190204000_old
b9eb76fdd09b        192.168.44.132/o4uft/of20170630c_20200312fb:o4uft           "dumb-init bash"    3 weeks ago         Exited (137) 11 years ago                                                                                                                              of20170630c_20200312fb

2.docker 制作自定义文件
#1.创建一个 Dockerfile 文件,并指定自定义镜像信息。
# Dockerfile 文件中常用的内容
from: 指定当前自定义镜像依赖的环境
copy: 将相对路径下的内容复制到自定义镜像中
workdir: 声明镜像的默认工作目录
cmd: 需要执行的命令(在workdir下执行,cmd可以写多个,只以最后一个为准)
# 举个栗子,自定义一个tomcat镜像,并且将ssm.war部署到tomcat中
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
#2.将准备好的 Dockerfile 和相应的文件拖拽到 Linux 操作系统中,通过 Docker 的命令制作镜像
docker build -t 镜像名称:[tag] .
3. Docker-Compose
之前运行一个镜像,需要添加大量的参数。
可以通过 Docker-Compose 编写这些参数。
Docker-Compose 可以帮助我们批量地管理容器。
只需要一个 docker-compose.yml 文件去维护即可。
4.将容器制作成镜像
#格式:docker  commit  -m  '镜像描述'  -a  '制作者'  容器名  镜像名
#1.查询当前镜像
[root@hs-10-20-18-175 docker_fc]# docker ps
CONTAINER ID        IMAGE                                     COMMAND             CREATED             STATUS              PORTS                                                                                                                                                                                                                                                                                                                                                                                                      NAMES
7dcefc7a1c85        192.168.44.132/uc20/ucv20190207000:uc20   "bash"              6 minutes ago       Up 6 minutes        0.0.0.0:1521->1521/tcp, 0.0.0.0:5123->5123/tcp, 0.0.0.0:5127->5127/tcp, 0.0.0.0:5224->5224/tcp, 0.0.0.0:9003->9003/tcp, 0.0.0.0:9009->9009/tcp, 0.0.0.0:9898->9898/tcp, 0.0.0.0:15827->15827/tcp, 0.0.0.0:15841->15841/tcp, 0.0.0.0:15844-15845->15844-15845/tcp, 0.0.0.0:15858-15859->15858-15859/tcp, 0.0.0.0:15861->15861/tcp, 0.0.0.0:15864->15864/tcp, 0.0.0.0:2024->22/tcp, 0.0.0.0:1524->1522/tcp   ucv20190207000
[root@hs-10-20-18-175 docker_fc]# 


#格式:docker  commit  -m  '镜像描述'  -a  '制作者'  容器名  镜像名
#2.将容器制作成镜像
[root@hs-10-20-18-175 docker_fc]# docker commit -m 'ucv20190207000_fc' -a 'fc' ucv20190207000 ucv20190207000_fc:uc20
sha256:69872616774af10ef582bc1b3241d499ef21df0422094fb490fcd319de703c34
#查看一下当前的镜像(新制作的镜像为ucv20190207000_fc)
[root@hs-10-20-18-175 docker_fc]# docker images
REPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZE
ucv20190207000_fc                                 latest              69872616774a        49 seconds ago      23.72 GB
192.168.44.132/uc20/uc-zgv20190204000             uc20                5eba8fd7d56f        8 months ago        20.89 GB
192.168.44.132/uc20/ucv20190207000                uc20                da5f5aed9eee        10 months ago       17.72 GB
192.168.44.132/uc20/ucv20200103000_20201130auto   uc20                93ef245f40fd        4 years ago         26.12 GB

#3.修改镜像名
[root@hs-10-20-18-175 docker_fc]# docker images
REPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZE
ucv20210100000-fc                                 uc20                2f04a95bd278        22 hours ago        38.13 GB
[root@hs-10-20-18-175 docker_fc]# docker tag 2f04a95bd278 ucv20210100000-fc-1:uc201
[root@hs-10-20-18-175 docker_fc]# docker images
REPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZE
ucv20210100000-fc-1                               uc201               2f04a95bd278        22 hours ago        38.13 GB

#4.将制作好的镜像打包成 tar 包
[root@hs-10-20-18-175 docker_fc]# docker save -o ucv20190207000_fc.tar  ucv20190207000_fc 
[root@hs-10-20-18-175 docker_fc]# ls
dockerCreate_0.sh  dockerCreate.sh  dockerPullImage.sh  dockerStartOracle.sh  env.db  ucv20190207000_fc.tar

#5.从 tar 包中加载镜像
#查看当前镜像
[root@hs-10-20-18-175 docker_fc]# docker images
REPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZE
ucv20200100000-fc-bak                             uc20                f5bf1b4b0551        18 hours ago        30.71 GB
192.168.44.132/uc20/uc-zgv20190204000             uc20                5eba8fd7d56f        8 months ago        20.89 GB
192.168.44.132/uc20/ucv20190207000                uc20                da5f5aed9eee        10 months ago       17.72 GB
192.168.44.132/uc20/ucv20200103000_20201130auto   uc20                93ef245f40fd        4 years ago         26.12 GB
[root@hs-10-20-18-175 docker_fc]# ls
dockerCreate_0.sh  dockerCreate_fc.sh  dockerCreate.sh  dockerPullImage.sh  dockerStartOracle.sh  ucv20200100000-fc.tar  ucv20210100000-fc.tar
#加载镜像
[root@hs-10-20-18-175 docker_fc]# docker load < ucv20200100000-fc.tar
Loaded image: ucv20200100000-fc:uc20
#查看镜像
[root@hs-10-20-18-175 docker_fc]# docker images
REPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZE
ucv20200100000-fc-bak                             uc20                f5bf1b4b0551        18 hours ago        30.71 GB
ucv20200100000-fc                                 uc20                f5bf1b4b0551        18 hours ago        30.71 GB
192.168.44.132/uc20/uc-zgv20190204000             uc20                5eba8fd7d56f        8 months ago        20.89 GB
192.168.44.132/uc20/ucv20190207000                uc20                da5f5aed9eee        10 months ago       17.72 GB
192.168.44.132/uc20/ucv20200103000_20201130auto   uc20                93ef245f40fd        4 years ago         26.12 GB



参考资料:https://www.cnblogs.com/pjcd-32718195/p/11762079.html
道虽迩,不行不至;事虽小,不为不成。
原文地址:https://www.cnblogs.com/rock-cc/p/14664240.html