目 录CONTENT

文章目录

docker常用命令

华灯
2024-04-16 / 0 评论 / 0 点赞 / 12 阅读 / 8557 字

docker是什么

docker是一个开源的应用容器引擎,能够允许开发者将其部署的代码打包成镜像,并允许用户将其部署到自己的设备,比如Windows、linux或者虚拟环境中,在这个容器中所部署的镜像是沙箱机制,对一个镜像操作理论上不会影响其他板块的镜像。
image

萌萌哒的docker图标

按照我的理解,docker是一个大盒子,盒子里面用木板划分为几个小块,每个小块里面可以放不同口味的巧克力,在控制变量情况下,吃了白巧克力并不会影响其他块的巧克力(除了再偷偷把块2的巧克力也吃了~)

块1块2块3
白巧克力黑巧克力夹心巧克力

巧克力吃完了怎么办?哈哈,这个问题不用担心。因为这个盒子有专门的巧克力厂(仓库respository),每位生产者(作者author)会把生产好的巧克力放到这个工厂,当盒子发送请求添加巧克力需求时工厂就会把做好的巧克力发到到盒子。

image

docker部署范围

根据我两个多月不成熟的学习和体验,docker主要有以下几种环境可部署:

  • 实体机(windows、linux、mac、安卓temmux终端)
  • 虚拟机(window、Linux、ubuntu)
  • 群晖

docker常用命令

安装命令

# yum 包更新 
yum update
# 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
##官方源```
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker,出现输入的界面都按 y 
yum install -y docker-ce
# 查看docker版本,验证是否验证成功
docker -v
> #比如输入命令后出现:Docker version 20.10.13, build a224086
# 启动docker
systemctl start docker
# 允许开机自启
systemctl enable docker

容器命令

#查看当前运行容器
docker ps a
# 查看所有正在运行容器
docker ps -a
# 容器进入
docker exec -it 容器名 bash

docker命令

常规命令

启动、停止、重启、状态、开机启动 docker

systemctl <start | stop | restart |status | enable> docker

查看docker所占空间情况

查看镜像/容器/数据卷所占的空间

[root@VM-16-4-centos ~]
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          16        7         7.295GB   3.918GB (53%)
Containers      9         0         389.1MB   389.1MB (100%)
Local Volumes   4         3         653.7MB   0B (0%)
Build Cache     0         0         0B        0B

信息类

docker info
docker --help
docker 具体命令 --help

镜像命令

查看本地镜像

OPTIONS参数

参数解释
-a列出本地所有的镜像(含历史映像层)
-q只显示镜像ID

搜索镜像

docker search [OPTIONS] <image_name>

OPTIONS参数

参数解释
--limit列出N个镜像

获取镜像

不跟tag参数默认下载最新版本

docker pull <image_name>:tag

删除镜像

1、删除单个镜像

docker rmi  -f <image_id>

2、删除多个镜像

docker rmi  -f <image_id> <image_id> ……

3、删除全部

docker rmi -f $(docker images -qa)

容器命令

新建和启动容器

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

OPTIONS

参数解释
--name为容器指定一个名称
-d后台运行容器并返回容器ID,也即启动守护式容器(后台运行)
-i交互模式运行容器
-t为容器重新分配一个伪输入终端
-P随机端口映射,大写P
-p指定端口映射,小写p

🌰🌰 端口映射

参数解释
-p hostPort:containerPort映射主机端口到容器端口
-p ip:hostPort:containerPort指定主机的ip和端口映射到容器端口
-p ip::containerPort随机映射主机端口到容器端口
-p hostPort:containerPort:udp指定映射端口的协议
-p 80:80 -p 443:443指定多个映射

🌰🌰 交互模式

docker run -it centos /bin/bash
  • -i: 交互式操作
  • -t: 终端
  • centos : centos 镜像
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
  • 要退出终端,直接输入 exit:

查看容器

参数解释
-a列出当前所有正在运行的容器+历史上运行过的
-n显示最近创建的容器
-l显示最近n个创建的容器
-q静默模式,只显示容器编号

不跟OPTIONS参数,默认是查看正在运行的容器

退出容器

  1. exit:run进去容器,exit退出,容器停止
  2. ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

启动容器

docker start <container_ID>|<container_name>

重启容器

docker restart <container_ID>|<container_name>

停止容器

1、正常停止

docker stop <container_id>|<container_name>

2、强制停止

docker kill <container_id>|<container_name>

删除容器

1、删除一个容器

docker rm <container_id>

2、删除多个容器

docker rm -f $(docker ps -a -q)

或者

docker ps -a -q | xargs docker rm

查看日志

docker logs <container_id>

查看容器内进程

docker top <container_id>

查看容器元信息

docker inspect <container_id>

拷贝文件

1、从容器到主机

docker cp <container_id>:path host_path

2、从主机到容器

docker cp host_path <container_id>:path 

导入和导出容器

1、导出(打包容器):export

docker export <container_id> > package_name.tar.gz

2、import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

总结

image-20220109010352000

attach    Attach to a running container                 
build     Build an image from a Dockerfile              
commit    Create a new image from a container changes   
cp        Copy files/folders from the containers filesystem to the host path   
create    Create a new container                        
diff      Inspect changes on a container's filesystem   
events    Get real time events from the server          
exec      Run a command in an existing container        
export    Stream the contents of a container as a tar archive   
history   Show the history of an image                  
images    List images                                   
import    Create a new filesystem image from the contents of a tarball 
info      Display system-wide information               
inspect   Return low-level information on a container   
kill      Kill a running container                      
load      Load an image from a tar archive              
login     Register or Login to the docker registry server    
logout    Log out from a Docker registry server          
logs      Fetch the logs of a container                 
port      Lookup the public-facing port which is NAT-ed to PRIVATE_PORT    
pause     Pause all processes within a container        
ps        List containers                               
pull      Pull an image or a repository from the docker registry server   
push      Push an image or a repository to the docker registry server    
restart   Restart a running container                   
rm        Remove one or more containers                 
rmi       Remove one or more images       
run       Run a command in a new container              
save      Save an image to a tar archive                
search    Search for an image on the Docker Hub         
start     Start a stopped containers                    
stop      Stop a running containers                     
tag       Tag an image into a repository                
top       Lookup the running processes of a container   
unpause   Unpause a paused container                    
version   Show the docker version information           
wait      Block until a container stops, then print its exit code   
0

评论区