- 开发无止境 -
Data: 2019-08-16 22:11:55Form: JournalClick: 34
在开发过程中,经常涉及到 docker 的相关操作,本文对常用的指令进行汇总
sudo docker images
比如搜索 ubuntu 基础镜像
sudo docker search ubuntu
可输出官方的镜像名称,以及 star 数量,选择一个需要的镜像下拉即可
sudo docker rmi -f 镜像名/镜像ID
将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像
docker load -i 镜像保存文件位置
docker run -it -d --name 要取的别名 -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 -e 变量名1="变量值1" -e 变量名2="变量值2" 镜像名:Tag /bin/bash
参数含义:
- -it 表示 与容器进行交互式启动
- -d 表示可后台运行容器 (守护式运行)
- --name 给要运行的容器 起的名字
- /bin/bash 交互路径
- -p 将容器的端口映射到宿主机上,通过宿主机访问内部端口
- -v 将容器内的指定文件夹挂载到宿主机对应位置
- -e 设置一个或多个环境变量。每个环境变量都是以“变量名=变量值”的形式传递给应用程序
sudo docker start 容器名/容器ID sudo docker stop 容器名/容器ID sudo docker restart 容器名/容器ID
批量操作(其余操作自行替换关键词)
启动所有容器 docker start $(docker ps -a -q)
#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)
进入正在运行中的容器
sudo docker attach 容器ID/容器名
在容器ubuntu_bash
中创建一个新的Bash会话
以下是在 Ubuntu 环境下打包 Docker 容器并在另一台服务器上离线安装的方法:
首先,使用 docker save 命令将 Docker 容器打包成 tar 文件,例如:
docker save -o container.tar container-image:tag
其中, container-image:tag 是要打包的 Docker 容器的名称和标签, -o 参数指定输出文件名为 container.tar 。然后,将打包好的 tar 文件传输到目标服务器。
首先,使用 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 是容器的名称和标签。
首先,在拷贝文件到宿主服务器上命令如下:
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