【运维】Docker 镜像、容器操作的常用命令
前言
上篇文章介绍了安装docker后,我们进一步了解一下如何安装镜像,使用容器。镜像相关命令
搜索镜像 docker search
1.docker search 搜索存放在 Docker Hub中镜像。 docker search java
2.每列含义
NAME
镜像仓库名称
DESCRIPTION
镜像仓库描述
STARS
镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0
OFFICAL
表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护
AUTOMATED
表示是否是自动构建的镜像仓库
3.配置镜像加速器
如果执行命令,搜索Java镜像报错如下:
Error response from daemon: Get https://index.docker.io/v1/search?
q=java: read tcp 52.200.132.201:443: i/o timeout
我们可以借助阿里云的镜像加速器,登录阿里云
镜像加速地址如图:
(1)查找docker默认的配置文件:daemon.json
cd /etc/docker
vim daemon.json
(2)如果没有就新建,有就修改,保存退出
{
"registry‐mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"] 4
}
(3)重启docker服务
sudo systemctl daemon‐reload
sudo systemctl restart docker
下载镜像
1.在java后加冒号、版本号,下载指定版本, docker pull java:8
列出镜像
docker images
列表含义
REPOSITORY
镜像所属仓库名称
TAG
镜像标签。默认是 latest,表示最新。
IMAGE ID
镜像 ID,表示镜像唯一标识
CREATED
镜像创建时间
SIZE
镜像大小
删除本地镜像
1.删除java镜像,强制删除加 -f docker rmi java
2.删除所有镜像
docker rmi $(docker images ‐q)
容器相关命令
新建、启动、进入、停止、删除容器
1.新建并启动容器例如:启动nginx容器
docker run ‐d ‐p 91:80 nginx
(1)选项含义
-d选项:表示后台运行
-P选项:随机端口映射
-p选项:指定端口映射,有以下四种格式。
--ip:hostPort:containerPort
--ip::containerPort
--hostPort:containerPort
--containerPort
--net选项:指定网络模式,该选项有以下可选参数:
--net=bridge:默认选项,表示连接到默认的网桥。
--net=host:容器使用宿主机的网络。
--net=container:NAME-or-ID:告诉 Docker让新建的容器使用已有容器的网络配置。
--net=none:不配置该容器的网络,用户可自定义网络配置。
(2)本例中,两个参数含义:
-d 后台运行
-p 宿主机端口:容器端口 #开放容器端口到宿主机端口
(3)访问 http://Docker宿主机 IP:91/,将会看到nginx的主界面如下:
(4)注意点
使用 docker run命令创建容器时,会先检查本地是否存在指定镜像。
如果本地不存在该名称的镜像, Docker会自动从 Docker Hub下载镜像并启动一个 Docker容器。
2.启动容器
启动已停止的容器
docker start f0b1c8ab3633
3.进入容器
使用docker exec命令用于进入一个正在运行的docker容器。
如果docker run命令运行容器的时候,没使用-it参数,就用这个命令进入容器。进入容器后,就可以在容器的 Shell 执行命令了
docker exec ‐it f0b1c8ab3633 /bin/bash
(有的容器需要把 /bin/bash 换成 sh)
4.停止容器
其中f0b1c8ab3633是容器ID,
也可使用 docker stop 容器名称 ,停止指定容器
docker stop f0b1c8ab3633
5.删除容器
(1) 删除已停止的容器
docker rm f0b1c8ab3633
(2)强制删除正在运行的容器
docker rm ‐f $(docker ps ‐a ‐q)
列出容器
docker ps
如需列出所有容器(包括已停止的容器),可使用-a参数。
该列表包含了7列,含义如下
- CONTAINER_ID:表示容器 ID。
- IMAGE:表示镜像名称。
- COMMAND:表示启动容器时运行的命令。
- CREATED:表示容器的创建时间。
- STATUS:表示容器运行的状态。UP表示运行中, Exited表示已停止。
- PORTS:表示容器对外的端口号。
- NAMES:表示容器名称。该名称默认由 Docker自动生成,也可使用 docker run命令的–name选项自行指定。
查看容器信息、日志、进程
1.查看容器信息 docker inspect f0b1c8ab3633
2.查看容器日志
docker container logs f0b1c8ab3633
3.查看容器里的进程
docker top f0b1c8ab3633
容器与宿主机相互复制文件
1.从容器拷贝文件到宿主机docker cp 容器id:要拷贝的文件在容器里面的路径 宿主机的相应路径
docker cp 7aa5dc458f9d:/etc/nginx/nginx.conf /mydata/nginx
2.从宿主机拷贝文件到容器里面
docker cp 要拷贝的宿主机文件路径 容器id:要拷贝到容器里面对应的路径
容器内安装指令
apt‐get update
apt‐get install vim #安装vim
apt‐get install iputils‐ping #安装ping
apt‐get install net‐tools #安装ifconfig
上一篇: linux 根据进程号查看进程打开的所有文件描述符
下一篇: Linux:文件描述符