Docker基本操作

2021-04-17  本文已影响0人  子丿龙

一、Docker镜像相关命令

#查看本地镜像
docker images  

#从远程仓库下载镜像
docker pull mysql:5.7

#搜索mysql5.7镜像  
docker search mysql:5.7  

#删除镜像
docker rmi mysql:5.7  

#修改本地镜像名字 
docker tag mysql:5.7 mysql:5.77777  

#查看镜像的构建历史 
docker history mysql:5.7

#commit命令将容器制作为镜像:   docker commit 容器ID  镜像名称:镜像tag
docker commit  473j33  mysql:v1

#build命令构建镜像:    docker build -t 镜像名称:镜像tag  Docerfile路径
docker build -t mysql:v1 .

二、Docker容器相关命令

#查看本地正在运行的镜像
docker ps 

#查看所有镜像 
docker ps -a 

#运行容器 
docker run --name=mysql  mysql:5.7   -it  -d -p 8898:8080  -v /root:/root
#参数解释
-i:以交互模式运行容器(一般和 -t 配对使用)
-t:分配一个伪输入终端(一般和 -i 配对使用)
-d:后台运行(daemon的意思)
--name: 指定一个名称,不然会随机分配串字符串
-v:挂载文件夹到容器中  -v /root:/root  宿主机路径:容器路径。
-p:端口映射   -p 8080:8080 宿主端口:容器端口。
---privileged=true:启动特权模式,该模式容器内的root拥有真正的root权限。

#启动/重启/停止容器 
docker start CONTAINER_ID / CONTAINER_NAME  
docker restart CONTAINER_ID / CONTAINER_NAME  
docker stop CONTAINER_ID / CONTAINER_NAME  

#停止所有容器
docker stop $(docker ps -a -q)  
#参数解释
-q:会返回容器的CONTAINER_ID

#删除容器
docker rm CONTAINER_ID / CONTAINER_NAME

#强制删除容器  
docker rm  -f  CONTAINER_ID  / CONTAINER_NAME 

#查看容器的详细情况,如网络信息等
docker inspect CONTAINER_ID  / CONTAINER_NAME

#进入容器内部  
docker exec -it  CONTAINER_ID  /bin/bash

#从宿主机复制文件到容器中 
docker cp /apps/docker.txt mysql:/apps/  

#从宿主机复制文件到容器中
docker cp mysql:/apps/docker_copy.txt  /apps  

三、Dockerfile指令解释

FROM:基于某个镜像
MAINTAINER:作者
WORKDIR:指定工作目录,如果不存在会创建
COPY:复制文件到镜像中,源文件路径使用的是相对路径
ADD:同COPY,区别是,如果文件是压缩文件tar.gz会自动解压
ENV:指定环境变量,类似在linux中编辑/etc/profile的操作
EXPOSE:指定暴露的接口
RUN:构建镜像的时候执行指令,作用于镜像层
ENTRYPOINT:容器启动时执行执行,作用于容器层,如果多条ENTRYPOINT指令,只会执行最后一条
CMD:容器启动时执行执行,作用于容器层,如果多条ENTRYPOINT指令,只会执行最后一条

上一篇 下一篇

猜你喜欢

热点阅读