1. docker常用命令
| 说明 | 命令 | 备注 |
|---|---|---|
| 从仓库拉取镜像,以redis为例 | docker pull redis | redis后面可以添加:v6.0.0表示指定版本,否则拉取最新版 |
| 查看本地镜像 | docker images | |
| 删除镜像 | docker rmi redis | redis为镜像名称,也可以使用镜像ID |
| 启动容器 | docker run --name myRedis \ -p 6379:6379 \ redis:7.0.7 | --name:设定容器的名称 -p:设定容器端口与外部端口的映射,其中 外部端口:container应用内部的端口 redis:7.0.7:镜像名称/镜像ID,另外:再次启动时可以使用 docker start myRedis |
| 停止容器 | docker stop myRedis | myRedis:container名称 / 容器ID |
| 删除容器 | docker rm -f myRedis | -f:表示强制删除正在运行中的容器,如果容器没有运行,可以省略这个参数 |
| 查看容器 | docker ps -a | 查看所有容器,包括已经停止的容器。如果去掉-a,那么就是查看所有启动的容器 |
| 使用root进入容器命令行 | docker exec -u 0 -it mycontainer /bin/bash | -u 0:表示使用root账号进入,否则使用默认账号进入mycontainer:指定容器的名称或ID /bin/bash:指定命令行模式,如果不存在/bin/bash,可以使用sh代替 |
| 查看docker container启动命令 | 请查看章节:2.2 | |
| 使用MySQL启动容器 | docker run --name mysql \ -d -p 3307:3306 \ -v /develop_tools/docker-plugin/mysql/conf.d:/etc/mysql/conf.d \ -v /develop_tools/docker-plugin/mysql/logs:/logs \ -e MYSQL_ROOT_PASSWORD=root \ --restart=always \ mysql | --name:启动后的容器的名称-d:后端运行 -p 3307:3306:设定容器端口与外部端口的映射,其中3307为本地服务器端口,3306:container容器内应用端口 -v:本地文件与容器内文件映射,冒号前位本地文件,冒号后为容器内文件 -e:应用提供的附加参数,这里设定了password的root密码 --restart=always:设置docker开机启动 mysql:镜像名称或ID |
| 容器添加重启功能 | docker update aaa --restart=always | aaa:容器ID / 容器名称 |
| 镜像导出 | docker save -o abc.tar myRedis:v1.0 | 将镜像保存为默认的tar文件。-o:这是output的缩写,表示保存的文件名称 myRedis:v1.0:表示镜像名称及镜像版本号 |
| 镜像导入 | docker load -i abc.tar | 在新的docker中重新加载指定的镜像 |
| 镜像内外文件复制 | docker cp 5effad:/etc/nignx/nginx.conf /data/conf/nginx.conf | 复制镜像内容到本地,本地目录可以是绝对路径,也可以是相对路径,位置还可以反向写 5effadslfajksd:镜像ID/名称 |
| 镜像构建 | docker build -t my-redis:v1.0 . | -t:表示构建的镜像的名称和版本 .:这个点不能忽略,表示执行上下文目录,不要忘记即可 |
2. docker常用操作
2.1. 配置docker镜像仓库
- 添加镜像配置(镜像源更新:2024.12.17)
文件位置:/etc/docker/daemon.json
{
"registry-mirrors":
[
"https://ccr.ccs.tencentyun.com",
"https://docker.rainbond.cc",
"https://elastic.m.daocloud.io",
"https://elastic.m.daocloud.io",
"https://docker.m.daocloud.io",
"https://gcr.m.daocloud.io",
"https://k8s-gcr.m.daocloud.io",
"https://k8s.m.daocloud.io",
"https://mcr.m.daocloud.io",
"https://nvcr.m.daocloud.io",
"https://quay.m.daocloud.io"
]
}
- 重启docker
systemctl daemon-reload
systemctl restart docker
- 查看是否生效
docker info
2.2. 查看docker container启动命令
- 安装第三方插件
docker pull cucker/get_command_4_run_container - 使用
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container 6ba0023043c3,其中6ba0023043c3为container的ID或者name - 注意:本插件直接执行上面的命令就可以自动拉取镜像并执行