• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

docker常用命令汇总

Data: 2019-08-16 22:11:55Form: JournalClick: 34

在开发过程中,经常涉及到 docker 的相关操作,本文对常用的指令进行汇总

1 镜像相关

1.1 查看镜像列表

sudo docker images
 

1.2 镜像搜索

比如搜索 ubuntu 基础镜像

sudo docker search ubuntu
 

可输出官方的镜像名称,以及 star 数量,选择一个需要的镜像下拉即可

1.3 下拉镜像

sudo docker pull 镜像名
sudo docker pull 镜像名:Tag
默认直接下载最新版本,如要拉取历史版本镜像,请前往docker官方网站查询历史版本:https://hub.docker.com/

1.4 删除镜像

sudo docker rmi -f 镜像名/镜像ID
 

1.5 保存镜像

将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
 

1.6 加载镜像

任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像

docker load -i 镜像保存文件位置
 

2 容器相关

2.1 容器列表

sudo docker ps
sudo docker ps -a # 查看所有容器 -----包含正在运行 和已停止的
 

2.2 创建容器

docker run -it -d --name 要取的别名 -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 -e 变量名1="变量值1" -e 变量名2="变量值2" 镜像名:Tag /bin/bash 

参数含义:

  • -it 表示 与容器进行交互式启动
  • -d 表示可后台运行容器 (守护式运行)  
  • --name 给要运行的容器 起的名字  
  • /bin/bash  交互路径
  • -p 将容器的端口映射到宿主机上,通过宿主机访问内部端口
  • -v 将容器内的指定文件夹挂载到宿主机对应位置
  • -e 设置一个或多个环境变量。每个环境变量都是以“变量名=变量值”的形式传递给应用程序

2.3 启动、停止、重启容器

sudo docker start 容器名/容器ID
sudo docker stop 容器名/容器ID
sudo docker restart 容器名/容器ID

批量操作(其余操作自行替换关键词)
启动所有容器 docker start $(docker ps -a -q)

 

2.4 删除容器

#删除一个容器

docker rm -f 容器名/容器ID

 

#删除多个容器 空格隔开要删除的容器名或容器ID

docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID

 

#删除全部容器

docker rm -f $(docker ps -aq)

 

2.5  进入容器

进入正在运行中的容器

sudo docker attach 容器ID/容器名

 

在容器ubuntu_bash中创建一个新的Bash会话

$ docker exec -it ubuntu_bash bash
 

3 离线拷贝方法

以下是在 Ubuntu 环境下打包 Docker 容器并在另一台服务器上离线安装的方法:

3.1. 在 Ubuntu 环境下打包 Docker 容器

首先,使用  docker save 命令将 Docker 容器打包成 tar 文件,例如:

docker save -o container.tar container-image:tag
 

其中, container-image:tag 是要打包的 Docker 容器的名称和标签, -o 参数指定输出文件名为  container.tar 。然后,将打包好的 tar 文件传输到目标服务器。

3.2. 在目标服务器上离线安装 Docker 容器

首先,使用  docker load 命令加载 tar 文件,例如:

docker load -i container.tar
 

然后,使用 docker run 命令运行容器,例如:

docker run -d --name container-name -p host-port:container-port container-image:tag
 

其中, container-name 是容器的名称, host-port 是主机端口, container-port  是容器端口, container-image:tag  是容器的名称和标签。

 

4 其他

4.1. Docker 容器 文件拷贝到宿主

首先,在拷贝文件到宿主服务器上命令如下:

docker cp CONTAINER:SRC_PATH DEST_PATH
  • CONTAINER 是你要复制文件或目录的容器名称或 ID。
  • SRC_PATH 是容器内部的源文件或目录路径。
  • DEST_PATH 是目标路径,可以是主机上的路径或者另一个容器内的路径。
     

拷贝文件到容器里 docker cp file.txt my_container:/app/data

容器里拷贝文件到宿主 docker cp my_container:/app/data file.txt

Name:
<提交>