三.Docker常用命令

1.Docker服务相关命令

1.systemctl start docker       # 启动docker容器

2.systemctl stop docker        # 停止docker容器
 
3.systemctl restart docker     # 重启docker容器
 
4.systemctl status docker      # 查看docker容器状态
 
5.systemctl enable docker      # 设置开机自启动docker容器

2.Docker镜像相关命令

1.查看本地镜像
docker images
docker images -q                                   #查看所有镜像的id
 
2.搜索镜像(从网络中查找)
docker search 镜像名称
docker search 镜像名称 --filter=stars=3000         #过滤出收藏量大于3000的镜像
 
3.拉取镜像
docker pull 镜像名称:版本号 #如果没有写版本号,默认拉取最新的laster版本
 
4.删除镜像
docker rmi -f 镜像id/镜像名称:版本号                #强制删除指定的本地镜像
docker rmi 'docker images -q'                      #删除本地的所有镜像

5.镜像打标签
docker tag SOURCE_IMAGE[:TAG]  原镜像  TARGET_IMAGE[:TAG] 新镜像
docker tag docker.io/centos docker.io/centos:v1    #对docker.io/centos打标签为v1

6.通过指定标签创建容器
docker run -itd docker.io/centos:v1                #使用docker.io/centos:v1镜像来创建容器

7.提交容器副本使之成为一个新的镜像(commit命令)
docker commit -m ="提交的描述信息" -a="作者" 容器ID要创建的目标镜像名:[标签名]
eg: docker commit -m="add vim" b51f19d360bd xuedocker/myubuntu:1.3

8.docker虚悬镜像是什么?
答:仓库名和标签都是<none>的镜像,俗称为虚悬镜像dangling image

3.Docker容器相关命令 

1.创建容器
docker run 参数 容器名称:版本号 /bin/bash          # /bin/bash  代表创建容器后立即进入容器
 
参数说明:
-i: 以交互模式运行容器(保持容器运行),如果参数为-it,容器创建后自动进入容器中,退出容器后,容器自动关闭
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d: 后台运行容器,并返回容器ID,需要使用docker exec目录进入容器,退出容器后,容器不会自动关闭
--name : 为容器指定一个名称
-v 宿主机目录:容器目录 :给容器绑定一个数据卷(可以使用多个-v绑定多个数据卷)
-e:设置环境变量
-p: 指定端口映射(小p),格式为:主机(宿主)端口:容器端口
-P:随机端口映射。(大P)
 
2.查看容器
docker ps            # 查看正在运行的容器
docker ps -a         # 查看所有的容器
docker ps -l         #显示最近创建的容器
docker ps -n         #显示最近n个创建的容器
docker ps -q         #静默模式,只显示容器编号。
 
3.进入容器
docker exec -it 容器名/容器id /bin/bash   (推荐使用)
docker attach 容器id  (退出会导致容器停止)
 
4.退出容器
exit                 #run进去容器,exit退出,容器停止(-it)
ctrl+p+q             #run进去容器,ctrl+p+q退出,容器不停止(-it) 

5.启动容器
docker start 容器名/容器id
 
6.删除容器
docker rm 容器名/容器id
docker rm `docker -ps -aq`     #删除所有的容器
 
7.查看容器进程
docker top 容器名/容器id
 
8.查看容器信息
docker inspect 容器名/容器id
 
9.查看容器日志
docker logs 参数 容器名/容器id

参数说明:
-f :跟踪输出
-t :显示时间戳
--tail 10 :显示日志的行数为10
--since:"2022-05-16" :显示某个日期至今的所有日志

10.容器自启动
docker update --restart=always 容器ID

11.容器内文件拷贝到主机
docker cp 容器id:容器内路径:目的主机路径

12.导出容器
导入:
export导出容器的内容流作为一个tar归档文件

docker export 容器ID > 文件名.tar

eg:docker export bb45247f0054 > alkaid77.tar

导出:
import从tar包中的内容创建一个新的文件系统再导入为镜像

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

eg:cat alkaid77.tar  | docker import - alkaid77/ubuntu111:v1

4.Doker实现挂载的三种方式

1.单个文件
docker run -d --name test \

--restart = always \

-v ~/server.xml:/usr/local/tomcat/conf/server.xml \

tomcat:8


这段代码一共完成:
1.创建了一个新的容器,运行的是tomcat8,当宿主机重启时,会自动启动该容器,给容器命名为cat4,方便输入查看日志命令,-d为后台运行。
2.用文件挂载的方式,将宿主机的server.xml文件挂载到容器的/usr/local/tomcat/conf/server.xml文件,可以理解为/usr/local/tomcat/conf/server.xml相当于一个快捷方式可通过命令:docker inspect cat4 查看容器详情。
2.文件夹
docker run -d --name mysql \ 

-v /data/mysql:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=root \

mariadb


这段代码一共完成了:
1.创建了一个新容器,运行mariadb,命名为mysql,将文件夹的挂载方式,
将宿主机的/data/mysql文件夹挂载到容器的/var/lib/mysql路径中,
-v会自动创建宿主机文件夹,-e配置环境变量。
2.其中/var/lib/mysql和MYSQL_ROOT_PASSWORD=root视镜像源而定创建完成之后
同样可以运行docker inspect mysql 查看容器详情 
运行命令: ll /data/mysql 查看挂载源文件,此时是有数据的。
3.数据卷

数据卷的本质上还是文件夹,docker可以自动指定一个挂载文件夹,但是路径比较深,而且还惨杂随机字符,所以可以创建一个数据卷,同时给其取一个别名,在使用路径时,就可以用别名表示完整文件夹路径。例如:

docker volume create my-vol  # 创建数据卷,名称为my-vol 

docker volume ls             # 查看数据卷列表

docker inspect my-vol 查看数据卷详情,其中"/var/lib/docker/volumes/my-vol/_data"为存储数据的真实目录。
docker run -d --name mysql1\

-v my-vol:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=root \

mariadb


手动指定my-vol挂载到/var/lib/mysql路径,删除容器时,数据卷不会删除,
如需删除容器时连同数据卷一起删除,可以在删除命令后加 --volumes。
如:docker rm -f mysql --volumes


如果没有手动指定挂载,会自动新建数据卷挂载。
例如:
docker run -d --name mysql2\
-e MYSQL_ROOT_PASSWORD=root \
mariadb

可以通过命令docker volume ls 查看数据卷列表,其指定的挂载文件夹路径很复杂。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值