前言
以下命令并不是docker的所有,仅涉及日常使用时最最常用的命令。
目的之一时给入门的朋友熟悉学习,其二时我自己偶尔使用时备忘。
一、概念
简单介绍下docker的相关概念:
- 镜像:Docker 镜像是一个轻量级、可执行的独立软件包,可以看作是一个构建容器的基础层。
- 容器:Docker 容器是镜像的运行实例,容器之间是隔离的。
- 仓库:Docker 仓库是用于存储和分发 Docker 镜像的地方
如果你是初次学习以上概念,那么可以先简单地理解为:
镜像是一间间的套房,容器是人们住进这些套房后变成的一个个“家”,仓库是卖房的。
二、管理本地镜像
docker_14">3.1 找docker镜像
从镜像仓库中查找想要的镜像,语法如下:
docker search <docker镜像名>
如:
docker search mysql
3.2 从镜像仓库拉取镜像到本地
docker pull <镜像名>[:版本号]
如:
docker pull mysql
docker pull ubuntu:20.04
3.3 查看拉取到本地的镜像
docker images
docker镜像拉取到本地之后,就可以使用docker images
查到,之后需要再次使用该镜像时,不再需要从仓库中拉取。
3.3 删除镜像
docker rmi -f <镜像名/镜像ID>
如:
docker rmi -f mysql
四、管理容器
4.1 创建容器
docker run [可选参数] image
# 参数说明
--name="name" 容器名字:用来区分容器
-d 后台方式运行
-it 使用交互式运行:进入容器查看内容
-p 指定容器的端口(四种方式)小写字母p-p ip:主机端口:容器端口-p 主机端口:容器端口-p 容器端口容器端口
-P 随机指定端口(大写字母P)
-v 指定文件映射关系-v 本地路径:容器内部路径
-e 该镜像的特殊参数,如用于指定初始密码等
如运行mysql容器,一般会使用如下命令:
docker run -p 3306:3306 --name mysql -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \-v /data/mysql/logs:/logs \-v /data/mysql/data:/var/lib/mysql \--restart always \ # 该参数可选,用于让该容器在docker启动时自动启动--privileged=true \ # 赋予容器几乎与主机相同的权限,mysql镜像一般需要多加这个参数-e MYSQL_ROOT_PASSWORD=123456 -d mysql
4.2 查看运行的容器
docker ps
4.3 容器删除
docker rm -f <容器id>
4.4 容器启停
docker start <容器id> # 启动容器
docker restart <容器id> # 重启容器
docker stop <容器id> # 停止当前正在运行的容器
docker kill <容器id> # 强制停止当前容器
4.5 进入和退出容器
docker exec -it <容器id> /bin/bash # 进入
exit # 退出
4.6 拷贝容器内文件
docker cp 容器id:容器内路径 宿主机路径 #从容器内拷贝文件到主机
docker cp 宿主机路径 容器id:容器内路径 # 将宿主机文件拷贝入容器
参考:
Docker 常用命令大全!!