没有什么比官方专业的:docker | Docker Documentation
1. 配置国内镜像源
Docker默认使用的是外国的官方镜像源,国内访问时可能会出现下载过慢或者下载失败的情况,因此可以设置国内镜像源。
1. Docker Desktop配置镜像源:
点击设置->Docker Engine->修改配置文件,重启后生效
2. 配置文件配置镜像源:
Linux操作系统中,配置文件默认位置为:/etc/docker/daemon.json
编辑配置文件,添加如下内容
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/", # 科大镜像
"https://hub-mirror.c.163.com/", # 网易镜像
"https://<你的ID>.mirror.aliyuncs.com", # 阿里云镜像
"https://reg-mirror.qiniu.com" # 七牛云镜像
]
}
完成配之后重启docker生效:使用docker info命令查看,若成功配置则会出现如下信息
2. 获取镜像-pull命令
# 命令格式 docker pull [OPTIONS] NAME[:TAG|@DIGEST]
# 拉取redis镜像为例,OPTIONS一般用不到,TAG需要根据实际情况,默认为latest
docker pull redis
如图所示redis镜像已经获取成功,默认使用了latest的tag
3.查看镜像-images命令
# 命令格式 docker images [OPTIONS] [REPOSITORY[:TAG]]
docker images
如图所示,列出了获取的redis镜像,从左往右依次是镜像名,tag,创建时间和大小
4.导出镜像-save命令
当我们需要把镜像导出给他人使用时,可以使用此命令
# 命令格式 docker save [OPTIONS] IMAGE [IMAGE...]
# 将获得redis镜像导出
docker save -o ~/Desktop/redis.tar redis:latest
5.删除镜像-rmi命令
# 命令格式 docker rmi [OPTIONS] IMAGE [IMAGE...]
# 删除获得redis镜像
docker rmi redis:latest
镜像在容器运行时无法删除,会出现如下提示,需要先停止容器才能删除
使用-f参数可以强制删除,但不推荐使用
6.导入镜像-load命令
当我们需要把镜像导入,但不能使用pull命令时可以使用此命令,导入后可用iamges命令查看
# 命令格式 docker load [OPTIONS]
# 将redis镜像使用导出的redis.tar加载回来
docker load -I ~/Desktop/redis.tar
7.运行镜像,创建容器-run命令
# 命令格式 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 运行redis容器
docker run --name my-redis -d redis:latest
执行命令后,若容器成功启动,则会返回容器的唯一ID,如下图所示
创建容器是常用的参数:
参数 | 说明 | 示例 |
-d | 后台运行,返回容器ID | docker run -d redis:latest |
--name | 指定容器的名称 | docker run --name my-redis redis:latest |
-v | 挂载数据卷 | docker run -d -v ./test:/data redis:latest |
-p | 宿主机端口与容器内端口的映射关系 | docker run -d -p 8080:6379 redis:latest |
-e | 指定环境参数 | docker run --name myredis -d -e redis_password=123 |
8.查看容器-ps命令
默认情况下只列出正常运行状态的容器,若需要列出所有容器可以添加--all, -a参数
# 命令格式 docker ps [OPTIONS]
docker ps
如下图所示,列出了my-redis容器的信息,从左往右依次为容器ID(此处做了截断,只显示了前12位),镜像,启动命令,创建时间,状态,端口以及容器名
9.进入容器-exec命令
当我们需要进入容器执行某些操作时,可以使用此命名,此处掩饰进入my-redis容器,添加一个redis键值对
# 命令格式 docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
docker exec -it my-redis bash
如下图所示,进入容器后,跟正常操作redis命令行一直,我们往里添加了一个值为123的num
10.查看日志-logs命令
查看容器的运行日志,添加-f可以持续实时输出日志
# 命令格式 docker logs [OPTIONS] CONTAINER
docker logs -f my-redis
11.重启容器-restart命令
# 命令格式 docker restart [OPTIONS] CONTAINER [CONTAINER...]
docker restart my-redis
12.停止容器-stop命令
# 命令格式 docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker stop my-redis
13.删除容器-rm命令
# 命令格式 docker rm [OPTIONS] CONTAINER [CONTAINER...]
docker rm my-redis
容器处于运行状态时,无法被删除,会出现如下警告:
需要先试用stop命令关闭容器后才能正常删除,若要强制删除可以使用-f参数,但不推荐使用
以上就是常用的12条docker命令啦~
学会了如何基础操作镜像和容器,下一篇我们将自己动手创建了一个镜像