【Docker】Docker常用命令汇总

140 阅读3分钟

1. docker常用命令

说明命令备注
从仓库拉取镜像,以redis为例docker pull redisredis后面可以添加:v6.0.0表示指定版本,否则拉取最新版
查看本地镜像docker images
删除镜像docker rmi redisredis为镜像名称,也可以使用镜像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 myRedismyRedis: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=alwaysaaa:容器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
  • 注意:本插件直接执行上面的命令就可以自动拉取镜像并执行