Code前端首页关于Code前端联系我们

Docker 使用整理:镜像与容器操作命令

terry 2年前 (2023-09-28) 阅读数 56 #未命名
作者:大刚实战测试与开发实践

1.镜像操作命令

docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令
命令 说明
drag 拉取镜像 搜索搜索相关镜像
标签重命名镜像
rmi删除镜像
图像或图像ls显示所有镜像 build 基于基础构建镜像on Dockerfile
commit基于现有容器构建镜像

1.拉取镜像

使用“docker拉取镜像名称”将远程仓库镜像拉取到本地(先检查本地是否存在,如果本地不存在再尝试)默认最新版本的镜像为从官网获取)

以busybox为例:

BusyBox是一款集合了300多个最常用的Linux命令和工具的软件。 BusyBox 包括简单的工具,如 ls、cat 和 echo,以及更大、更复杂的工具,如 grep、find、mount 和 telnet。有人称 BusyBox 为 Linux 工具中的瑞士军刀。简单来说,BusyBox就像一个大工具箱。它集成并压缩了许多Linux工具和命令,还包括自己的Linux shell。

docker pull busybox  # 拉取镜像
docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

您还可以在拉取镜像之前使用 docker search 命令

docker search busybox  # 搜索相关镜像
docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

2 搜索不同类型的镜像。查看镜像

使用“docker image ls”或“docker images”命令查看现有的本地镜像

docker images  # 查看所有镜像
docker images | grep busybox  # 查看指定镜像
docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

3.更改镜像名称

使用“docker tag 原镜像名称 新名称”命令对镜像进行重命名,例如:docker tag busybox:latest mybusybox:V1.0。重命名镜像会添加一个新镜像,相当于创建一个新镜像。具有相同 ID 的副本。

docker tag busybox:latest mybusybox:V1.0
docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

4。删除镜像

使用“docker rmi镜像名称”命令删除无用的镜像。按图片名称删除,只会删除指定名称的图片;按图像 ID 删除将删除所有具有相同 ID 的图像。?

exec...-it...sh进入容器开始启动容器重新启动重新启动容器停止停止容器rm 删除容器提交基于现有容器构建镜像ps查看容器状态: docker ps -a:查看所有容器 docker ps -l:查看最近管理的容器日志查看容器日志:docker log 容器名称:查看特定容器的运行日志 docker log -f 容器名称:实时查看特定容器的运行日志

容器运行相关参数:

命令-Instructions-NAME指定容器名称:-name =容器名称 - 名称 - name Container name
-d-d-d-d-p

-p

映射端口、宿主机端口:容器端口,例如:-p 3307:3306

-v挂载目录到宿主机本地目录:容器目录,例如:-v /usr/local/nginx:/usr/local/ nginx
--restart自动重启,例如:--restart=always,docker服务重启后重启

1。创建容器

docker create (--name=容器名称) 镜像名称,例如:

docker create --name=mybusybox busybox

2. 查看容器状态

docker ps -a  # 查看所有容器
docker ps -a | grep mybusybox  # 过滤查看指定容器
docker ps -l  # 查看最近操作的容器

create 命令创建的容器处于“已创建”状态。可以通过运行命令启动容器 docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

3.启动容器

docker start mybusybox

4.进入容器

使用“docker exec -it 容器名称 sh”命令进入容器,例如:

docker exec -it mybusybox sh

5.启动容器

docker run = docker pull + docker create + docker start

docker run --name=mynginx -d -p 81:80 nginx

6.停止容器

docker停止容器名称或容器ID,例如:

docker stop mybusybox
docker stop 6fbf5a7a580b

7。删除容器

docker rm 容器名称或容器ID,删除前先停止容器,例如:

docker stop mybusybox
docker rm mybusybox
docker rm 6fbf5a7a580b

8。查看容器日志

  • docker日志容器名称或容器ID:以文件格式查看日志,类似cat;
  • docker logs 容器名称或容器ID:查看实时日志,类似tail -f;

例如:

docker logs sonic_sonic-server-controller_1
docker logs -f sonic_sonic-server-controller_1

9。基于现有容器构建新的镜像模板

docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

用法:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明
-a作者信息注释
- c 使用 Dockerfile 指令创建镜像
-m提交描述信息,类似于 git commit -m "xxxx"
-p在提交时暂停容器

例如:当前当前服务器应该上传到当前服务器。将正在运行的容器不跟踪迁移到另一台服务器,意味着执行以下步骤:

将当前正在运行的容器作为新镜像 A>>将新镜像 A 的镜像文件复制到另一台服务器或直接将镜像 A 发送到另一台服务器镜像仓库 >> 从另一台服务器上的镜像仓库下载镜像 A >> 基于镜像 A 创建容器并运行

① 打包容器

首先将文件复制到现有容器中

docker cp jdk_install.sh mysql:/home

② 查看文件在容器中

docker exec -it mysql sh

可以看到是jdk_install.sh文件被复制到了mysql容器的/home目录下: docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

③基于容器创建新的镜像

docker commit -a "chenjigang" mysql new-mysql

查看当前镜像列表使用“docker images”命令,可以看到名为new-mysql的镜像: docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

④ 基于新镜像运行容器

docker run -d --name new-mysql-container -e MYSQL_ROOT_PASSWORD=123456 -p 3308:3306 new-mysql

查看容器中的文件

docker exec -it new-mysql-container sh

可以在镜像中看到下面,之前复制到容器中的 jdk_install.sh 文件被保存到镜像中,并出现在新容器中:docker用法整理:镜像、容器操作命令docker用法整理:镜像、容器操作命令

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门