docker学习


目录

1. docker拉取镜像ubuntu18.04

命令:

下载命令(使用 wget):

或者使用 curl:

导入镜像到 Docker:

验证镜像:

启动容器:

2. 管理 Docker 容器

2.1 常用指令

2.2 基于已有镜像创建容器,并每回打开特定的容器

 创建容器

列出和管理容器

 首先要启动一个容器,然后再进入该容器

3. docker镜像的创建使用管理

3.1 镜像创建

3.1.1 指令创建

3.1.2 Dockerfile创建和管理

4. docker基本指令

 基本 Docker 指令

 1. `docker --version`  功能:显示 Docker 的版本信息

 2. `docker pull`  功能: 从 Docker Hub 或其他 Docker 注册表中下载镜像

 3. `docker images` 功能: 列出本地所有的 Docker 镜像

 4. `docker run`功能: 从指定的镜像启动一个新的容器

 5. `docker ps` 功能: 列出当前运行的容器

 6. `docker stop`  功能: 停止一个运行中的容器

 7. `docker start`  功能: 启动一个已停止的容器

 8. `docker restart`  功能: 重启一个容器

 9. `docker rm`  功能: 删除一个容器

 10. `docker rmi`  功能: 删除一个镜像

 11. `docker exec`  功能: 在运行的容器中执行命令

 12. `docker logs`  功能: 查看容器的日志输出

 13. `docker build`  功能: 使用 `Dockerfile` 构建一个镜像

 14. `docker tag`  功能: 给现有镜像打标签

 15. `docker push`  功能: 将镜像推送到 Docker 注册表

 16. `docker network ls`  功能: 列出所有 Docker 网络

 17. `docker network create`  功能: 创建一个新的 Docker 网络

 18. `docker volume ls`  功能: 列出所有 Docker 卷

 19. `docker volume create`  功能: 创建一个新的 Docker 卷

 常见用法示例


1. docker拉取镜像ubuntu18.04

命令:

下载命令(使用 wget:

wget https://partner-images.canonical.com/core/bionic/current/ubuntu-bionic-core-cloudimg-amd64-root.tar.gz

或者使用 curl:

curl -O https://partner-images.canonical.com/core/bionic/current/ubuntu-bionic-core-cloudimg-amd64-root.tar.gz

导入镜像到 Docker:

sudo docker import ubuntu-bionic-core-cloudimg-amd64-root.tar.gz ubuntu:18.04

验证镜像:

sudo docker images

启动容器:

sudo docker run -it ubuntu:18.04 /bin/bash

2. 管理 Docker 容器

2.1 常用指令

2.2 基于已有镜像创建容器,并每回打开特定的容器

每回运行run命令都会创建一个新的容器,为了避免这样的困扰,给容器特定名,每回打开都打开相应容器即可

 2.2.1 创建容器

有了镜像以后,创建容器去使用

docker run -it --name my-ubuntu-container ubuntu:18.04 /bin/bash

2.3 在创建容器时使用挂载卷

 

docker run -it --name autoware -v /home/zxy:/container/dir autoware/autoware:latest-melodic-cuda /bin/bash

 

 2.4 如何在容器中访问挂载的目录

2.5 命名和启动容器

docker run -it --name test-container test/ubuntu:zxy /bin/bash
docker run -it --name autoware-container autoware/ubuntu /bin/bash

2.6 列出和管理容器,激活容器并进入,不需要重新创建

 首先要启动一个容器,然后再进入该容器

 

 

示例如下

3. docker镜像的创建使用管理

3.1 镜像创建

3.1.1 指令创建

 

sudo docker commit -m="update" -a="fu" 3601 ros-autoware
## 3601是一个容器的id前几位,ros-autoware是镜像命名
3.1.2 Dockerfile创建和管理

首先创建一个名为“Dockerfile”的文件

然后编辑Dockerfile文件

 

然后build出来
sudo docker build -t data-close-loop .
sudo docker build -t data-close-loop/ubuntu:18.04 .

后面的 .表示在当前文件夹,指令要在当前文件夹下面进行

4. docker基本指令

         Docker 是一个开源的平台,可以用于自动化应用程序的部署和管理。了解一些基本的 Docker 指令有助于快速上手。以下是一些常用的 Docker 指令及其功能的中文说明:

 基本 Docker 指令

  •  1. `docker --version`  功能:显示 Docker 的版本信息

docker --version

  •  2. `docker pull`  功能: 从 Docker Hub 或其他 Docker 注册表中下载镜像

docker pull [image-name]

例如:

docker pull ubuntu

这会下载最新版本的 `ubuntu` 镜像。

注意:如果指令拉取镜像不成功,就先下载docker中ubuntu18.04的包,再导入进去,详情见笔记中1. docker拉取镜像ubuntu18.04

  •  3. `docker images` 功能: 列出本地所有的 Docker 镜像

docker images

  •  4. `docker run`功能: 从指定的镜像启动一个新的容器

docker run [options] [image-name] [command]

。例如

docker run -it ubuntu /bin/

这会启动一个交互式的 Ubuntu 容器并进入其 `/bin/` shell。

常用选项:

`-d`:后台运行容器。

`-i`:交互模式。

`-t`:分配一个伪终端。

`--name`:给容器指定一个名称。

`-p`:端口映射,例如 `-p 8080:80` 将本地 8080 端口映射到容器的 80 端口。

比如:启动ubuntu18.04容器

sudo docker run -it ubuntu:18.04 /bin/bash
  •  5. `docker ps` 功能: 列出当前运行的容器

docker ps

。使用 `-a` 参数可以查看所有容器,包括停止的:

docker ps -a
  •  6. `docker stop`  功能: 停止一个运行中的容器

docker stop [container-id/name]

。例如:

docker stop my-container

这会停止名为 `my-container` 的容器。

  •  7. `docker start`  功能: 启动一个已停止的容器

docker start [container-id/name]

。例如:

docker start my-container

这会启动名为 `my-container` 的容器。

  •  8. `docker restart`  功能: 重启一个容器

docker restart [container-id/name]

。例如:

docker restart my-container

这会重启名为 `my-container` 的容器。

  •  9. `docker rm`  功能: 删除一个容器

docker rm [container-id/name]

。例如:

docker rm my-container

这会删除名为 `my-container` 的容器。要删除所有停止的容器,可以使用:

docker container prune
  •  10. `docker rmi`  功能: 删除一个镜像

docker rmi [image-id/name]

功能: 删除一个镜像。例如:

docker rmi ubuntu

这会删除名为 `ubuntu` 的镜像。

  •  11. `docker exec`  功能: 在运行的容器中执行命令

docker exec [options] [container-id/name] [command]

功能: 在运行的容器中执行命令。例如:

docker exec -it my-container /bin/

这会在名为 `my-container` 的容器中启动一个交互式的 `/bin/` 会话。

  •  12. `docker logs`  功能: 查看容器的日志输出

docker logs [container-id/name]

功能: 查看容器的日志输出。例如:

docker logs my-container

这会显示 `my-container` 的日志。

  •  13. `docker build`  功能: 使用 `Dockerfile` 构建一个镜像

docker build [options] [path]

功能: 使用 `Dockerfile` 构建一个镜像。例如:

docker build -t my-image:latest .

这会使用当前目录下的 `Dockerfile` 构建一个名为 `my-image` 的镜像。

  •  14. `docker tag`  功能: 给现有镜像打标签

docker tag [image-id/name] [new-image-name]

功能: 给现有镜像打标签。例如:

docker tag ubuntu myrepo/ubuntu:v1

这会给 `ubuntu` 镜像打上 `myrepo/ubuntu:v1` 的标签。

  •  15. `docker push`  功能: 将镜像推送到 Docker 注册表

docker push [repository/image-name]

功能: 将镜像推送到 Docker 注册表。例如:

docker push myrepo/ubuntu:v1

这会将 `myrepo/ubuntu:v1` 镜像推送到注册表中。

  •  16. `docker network ls`  功能: 列出所有 Docker 网络

docker network ls

功能: 列出所有 Docker 网络。

  •  17. `docker network create`  功能: 创建一个新的 Docker 网络

  1. docker network create [options] [network-name]

功能: 创建一个新的 Docker 网络。例如:

docker network create my-network

这会创建一个名为 `my-network` 的新网络。

  •  18. `docker volume ls`  功能: 列出所有 Docker 卷

docker volume ls

功能: 列出所有 Docker 卷。

  •  19. `docker volume create`  功能: 创建一个新的 Docker 卷

docker volume create [volume-name]

功能: 创建一个新的 Docker 卷。例如:

docker volume create my-volume

这会创建一个名为 `my-volume` 的新卷。

 常见用法示例

- 运行一个交互式的 Ubuntu 容器:

  docker run -it ubuntu /bin/

  启动一个 Ubuntu 容器并进入其  shell。

- 列出所有运行中的容器:  

  docker ps

  显示当前正在运行的容器列表。

- 构建一个 Docker 镜像:

  docker build -t my-image:latest .

  使用当前目录中的 `Dockerfile` 构建镜像 `my-image`。

- 推送镜像到 Docker Hub:

  docker push myrepo/my-image:latest

  将镜像 `myrepo/my-image` 推送到 Docker Hub。

这些指令帮助你管理 Docker 容器、镜像、网络和卷。理解和掌握这些基础指令将有助于你在 Docker 上有效地开发和部署应用程序。

5. docker使用中daemon.json文件编辑问题,导致docker无法启动

 文件中有两个 JSON 对象,会导致docker无法启动的现象

原因分析:

        你的 /etc/docker/daemon.json 文件中有两个 JSON 对象,这是导致 Docker 服务无法启动的问题。有效的 JSON 配置文件只能包含一个顶级对象,而你的配置文件实际上应该合并这些配置.

 修改:合并JSON配置


注意格式问题,两个之间要有,逗号隔开

正确的文件如下:

 6. docker使用中daemon.json文件编辑问题,导致docker无法启动

文件中有两个 JSON 对象,会导致docker无法启动的现象

原因分析:

        你的 /etc/docker/daemon.json 文件中有两个 JSON 对象,这是导致 Docker 服务无法启动的问题。有效的 JSON 配置文件只能包含一个顶级对象,而你的配置文件实际上应该合并这些配置.

 修改


注意格式问题,两个之间要有,逗号隔开

正确的文件如下:

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值