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

 

posted @ 2020-04-25 23:12  达摩院的BLOG  阅读(178)  评论(0编辑  收藏  举报