docker常用命令
CentOS7系统下:
一、docker启动相关命令
启动docker服务:systemctl start docker
停止docker服务:systemctl stop docker
重启docker服务:systemctl restart docker
查看docker服务状态:systemctl status docker
开机启动:systemctl enable docker
查看docker概要信息:docker info
查看docker帮助文档:docker --help
查看docker启动命令:docker logs -f docker_name/docker_id
二、docker的常用命令 - 镜像仓库配置
1. docker 镜像源配置
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,如:
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
但是加速器一般都需要注册账号,因此我们可以老牌的utsc镜像,无须注册配置后即可使用。
设置镜像为utsc的镜像:
(1)首先编辑该文件:vi /etc/docker/daemon.json //如果该文件不存在就手动创建 (2)在该文件中输入如下内容: { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } 注意:一定要重启docker服务,如果重启docker后无法加速,可以重新启动OS
三、docker的常用命令 - 本地镜像管理
1. 查看本地docker镜像:docker images
2. 搜索镜像:docker search 镜像名称
3. docker tag
在Docker中,`docker tag`命令用于用于给Docker镜像创建一个新的标签。 下面是`docker tag`命令的基本语法: ```bash docker tag [OPTIONS] IMAGE[:TAG] [REGISTRY_HOST/][USERNAME/]NAME[:TAG] ``` - `IMAGE`: 指的是要打标签的镜像的名称或者ID。 - `TAG`:(可选)指定镜像的标签,如果不指定,默认为`latest`。 - `REGISTRY_HOST`:(可选)指定镜像仓库的主机名,用于私有仓库或者Docker Hub上的组织。 - `USERNAME`:(可选)指定镜像仓库的用户名。 - `NAME`: 指定新的镜像名。 - `TAG`:(可选)为新镜像指定一个标签。 使用`docker tag`命令的几个场景: 1. **给本地镜像打标签**: 如果你有一个本地镜像,并且想要给它一个新的名字,你可以这样做: ```bash docker tag ubuntu:18.04 my-ubuntu:latest ``` 这会创建一个指向`ubuntu:18.04`的新标签`my-ubuntu:latest`。 2. **推送到Docker Hub**: 当你想要将本地镜像推送到Docker Hub时,你可能需要给你的镜像打上包含用户名的标签: ```bash docker tag ubuntu:18.04 username/ubuntu:18.04 ``` 然后,你可以用`docker push`命令将镜像推送到Docker Hub: ```bash docker push username/ubuntu:18.04 ``` 3. **版本管理**: 如果你想管理不同版本的镜像,你可以使用标签来区分: ```bash docker tag ubuntu:18.04 my-ubuntu:1.0 docker tag ubuntu:20.04 my-ubuntu:2.0 ``` 这样,你就有两个版本的`my-ubuntu`镜像,分别标记为`1.0`和`2.0`。 4. **给镜像打上私有仓库的标签**: 如果你想将镜像推送到私有仓库,你可能需要包含仓库的主机名: ```bash docker tag ubuntu:18.04 my-registry.com:5000/my-ubuntu:latest ``` 然后,使用`docker push`命令推送镜像到私有仓库: ```bash docker push my-registry.com:5000/my-ubuntu:latest ``` 总的来说,`docker tag`命令是一个用于重命名镜像或者为其创建快捷方式的工具,非常有助于镜像版本管理和分发。
4. docker build 使用 Dockerfile 创建镜像
语法:docker build [OPTIONS] PATH | URL | -
options:
--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
举例:
# 1. 使用当前目录的 Dockerfile 创建镜像,在仓库中的路径和镜像名字 runoob/ubuntu 标签 v1。
$docker build -t runoob/ubuntu:v1 . # 其中 . 表示上下文路径。那什么上下文路径呢?上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),
docker build 命令得知这个路径后,会将路径下的所有内容打包。 # 如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。 # 注意:上下文路径下不要放无用的文件,因为会一起打包发送给 docker 引擎(实际打包的时候不会全部打入镜像内),如果文件过多会造成过程缓慢。
# 2. 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
$ docker build github.com/creack/docker-firefox
# 3.通过 -f Dockerfile 文件的位置
$ docker build -f /path/to/a/Dockerfile .
5.docker push ,将本地的镜像上传到镜像仓库,一般需要先登陆到镜像仓库
语法 docker push [OPTIONS] NAME[:TAG] OPTIONS说明: --disable-content-trust :忽略镜像的校验,默认开启 举例:上传本地镜像 myapache:v1 到镜像仓库中
注意:若已经登录到指定的远程仓库,则不需要执行远程仓库地址,若未登录到指定仓库,则 push 时需要指定仓库地址。否则默认的镜像仓库地址。 $ docker push myapache:v1
# 指定仓库地址
$ docker push test.com/myapache:v1
三、Docker 的使用
1.docker 镜像构建 - 通过DockerFile构建
其他:docker 镜像构建的三种方式:https://zhuanlan.zhihu.com/p/691960502
(1) 第一步 新建 DockerFile 文件;
(2) 第二步,新建执行文件 build,主要存放了docker build 构建镜像的命令,方便以后使用 ;
(3)执行 build 文件。
附录:
检查容器内部信息:docker inspect 容器名称;
查看容器启动⽇志:docker logs -f containerid