docker 命令简单整理

本文详细介绍Docker的安装、版本查看、镜像管理、容器操作等核心功能,包括镜像的拉取、删除,容器的启动、停止及删除,并提供解决常见问题的方法。

本文摘抄自 docker描述

docker安装

查看版本

docker version
or
docker info

查看镜像

docker images

拉取镜像

docker pull library/hello-world

启动镜像

docker run hello-world

查看哪些容器在运行

docker ps -a

启动停止容器

docker start container_name/container_id
docker restart container_name/container_id
docker stop container_name/container_id

进入容器

docker attach container_name/container_id

那如果这个时候,我们想删除指定镜像的话,由于 image 被某个 container 引用(拿来运行),如果不将这个引用的 container 销毁(删除),那 image 肯定是不能被删除。

我们首先得先去停止这个容器:

docker ps
docker stop container_name/container_id

然后我们用如下命令去删除这个容器:

docker rm container_name/container_id

删除容器

docker rm container_name/container_id

删除镜像

docker rmi image_name


删除 none 镜像

docker rmi $(docker images -f "dangling=true" -q)

#Jenkis

rm -f /home/dockerfile/dev/服务器创建的文件夹/jar包名称.jar

cp -r /var/lib/jenkins/workspace/创建项目名称(即jenkis打包workspace文件)/(启动文件所在目录)/target/jar包名称.jar /home/dockerfile/dev/服务器创建的文件夹/jar包名称.jar
docker rmi 192.168.0.134:5000/镜像名称

cd /home/dockerfile/dev/服务器创建的文件夹

docker build -t 192.168.0.134:5000/镜像名称 .

docker push 192.168.0.134:5000/镜像名称
x docker rm -f 容器名称docker rmi 192.168.0.134:5000/镜像名称:latest​docker run -d --name 容器名称 -p 端口号:端口号 -e IP=192.168.0.134   -e  JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Dspring.profiles.active=dev -Djava.awt.headless=true -Dserver.port=端口号" \192.168.0.134:5000/镜像名称

错误`

Error response from daemon: Get “https://index.docker.io/v1/search?q=mysql&n=25”: dial tcp: lookup index.docker.io on 192.168.10.1:53: read udp 192.168.10.2:57724->192.168.10.1:53: read: connection refused
`
vim /etc/resolv.conf添加nameserver 114.114.114.114

nameserver 114.114.114.114 
nameserver 8.8.8.8
nameserver 8.8.8.4

docker 镜像打tar包

# 导出名为 myimage 的镜像到当前目录下的 myimage.tar 文件中
$ docker save -o myimage.tar myimage
docker image prune

docker 指令映射

docker 容器没有vim命令
在Docker中没有安装vi编辑器的情况下,可以尝试以下解决方案:

  1. 使用容器中已有的其他编辑器:Docker容器中通常会默认安装一些其他编辑器,如nano或emacs。可以尝试使用这些编辑器来编辑文件。例如,使用nano编辑器,可以运行以下命令:nano 文件名
  2. 安装vi编辑器:如果你有root权限,可以尝试在Docker容器中安装vi编辑器。可以使用以下命令安装:
apt-get update
apt-get install vim
  1. 使用主机的vi命令:如果在Docker容器中找不到vi命令,但主机上已安装了vi,可以通过将主机的vi命令映射到Docker容器中来解决。可以使用以下命令运行容器:
docker run -v /usr/bin/vi:/usr/local/bin/vi image_name
<think>好的,我现在需要帮助用户学习和练习Docker的基本命令。首先,我得整理一下用户的需求。用户提到了几个引用内容,里面涉及Dockerfile、docker build、docker exec、docker-compose的安装、运行容器、端口映射、后台运行等。可能用户是刚开始接触Docker,需要从基础命令入手。 首先,我应该按照Docker的基本使用流程来组织内容,比如从安装、镜像操作、容器管理、网络和存储卷,再到Docker Compose。这样结构清晰,用户能一步步跟着学。用户提供的引用中有提到docker run的各种参数,比如--name、-d、-it、-p,这些需要详细解释,因为它们是创建和运行容器的关键。 然后,用户提到的引用里有安装docker-compose的部分,可能用户也需要了解如何编排多容器应用,所以得包括docker-compose的基本用法。此外,用户引用的博客中有安装Redis的例子,或许可以举一个实际例子,比如运行Nginx或Redis,这样用户能更直观地理解命令的使用。 还要注意用户提到的在容器内执行命令,比如docker exec,这也是管理容器的重要部分。另外,Dockerfile的使用和构建镜像的过程也需要涵盖,因为用户引用1提到了这点。 需要检查是否有遗漏的基础命令,比如查看日志、容器状态、停止删除容器等。这些日常操作对用户练习很重要。同时,用户可能对网络和存储卷不太熟悉,需要简单介绍,但不用太深入,避免信息过载。 最后,生成相关问题时要围绕用户可能遇到的下一步问题,比如如何优化镜像、管理数据持久化、调试容器等,这样能帮助用户深化学习。确保引用标记正确,每个引用对应到用户提供的参考内容,比如docker exec对应引用1,docker-compose安装对应引用2,运行应用对应引用3,安装Redis对应引用4,docker run参数对应引用5。 现在需要确保所有命令的示例正确,符合LaTeX格式要求,行内公式用$...$,独立公式用$$...$$,但这里可能更多是代码块和命令,所以注意代码块的格式。另外,回答用中文,结构清晰,分步骤讲解,最后的问题要相关且有针对性。</think>### Docker基本命令教程 Docker是容器化技术的核心工具,以下是基本命令的分类整理和操作示例: --- #### 一、安装与配置 1. **安装Docker引擎** - Ubuntu示例: ```bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` - macOS/Windows可通过[Docker Desktop](https://www.docker.com/products/docker-desktop)安装。 2. **安装docker-compose** ```bash curl -L https://get.daocloud.io/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose # 添加执行权限[^2] ``` --- #### 二、镜像操作 1. **构建镜像** 编写`Dockerfile`后执行: ```bash docker build -t my-image:latest . # -t指定标签,.表示当前目录[^1] ``` 2. **管理镜像** ```bash docker images # 查看本地镜像 docker pull nginx # 拉取公共镜像 docker rmi <镜像ID> # 删除镜像 ``` --- #### 三、容器管理 1. **启动容器** ```bash docker run -d --name my-nginx -p 80:80 nginx # 后台运行,映射端口[^5] docker run -it ubuntu /bin/bash # 交互式进入容器[^5] ``` 2. **查看与操作容器** ```bash docker ps -a # 查看所有容器(包括已停止的) docker start/stop <容器ID> # 启动/停止容器 docker exec -it my-nginx /bin/bash # 进入运行中的容器执行命令[^1] docker rm <容器ID> # 删除容器 ``` --- #### 四、网络与存储 1. **网络配置** ```bash docker network create my-network # 创建自定义网络 docker run --network=my-network --name service1 my-image # 指定网络启动容器 ``` 2. **数据卷挂载** ```bash docker run -v /宿主机路径:/容器路径 nginx # 绑定目录 docker volume create my-volume # 创建数据卷 ``` --- #### 五、Docker Compose 1. **编写`docker-compose.yml`** ```yaml version: '3' services: web: image: nginx ports: - "80:80" ``` 2. **启动服务** ```bash docker-compose up -d # 后台启动多容器应用 docker-compose down # 停止并清理资源 ``` --- #### 六、实战示例:运行Python Flask应用 1. **编写Dockerfile** ```dockerfile FROM python:3.8 COPY . /app WORKDIR /app RUN pip install flask CMD ["python", "app.py"] ``` 2. **构建并运行** ```bash docker build -t flask-app . docker run -d -p 5000:5000 flask-app # 映射Flask默认端口[^3] ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值