Docker常用命令

docker的说明与安装

一、docker命令

命令说明备注
systemctl start docker启动docker 
systemctl restart docker重启docker 
systemctl stop docker  
systemctl enable docker设置开机启动docker 
docker images查看镜像列表 
docker ps查看运行中的容器 
docker exec -it 容器ID /bin/bash
 
进入容器之中;exit退出 docker exec -it cc4e10826597 /bin/bash
docker logs 容器ID查看日志 
docker logs -f -t --since="2020-03-02" --tail=1000 容器ID查看2020年3月2号之后的日志,显示1000行 

二、镜像常用命令

命令说明备注
docker image ls查看镜像列表也可以用docker images
docker image history 镜像名称查看镜像历史信息docker image history nginx
docker image inspect 镜像名称查看镜像具体的详情docker image inspect nginx
docker build 根据dockerfile创建镜像docker build -t coretest01:v1 .
docker image prune移除未使用的镜像,未标记或未被任何容器引用的镜像 
docker pull从镜像仓库拉取镜像docker pull nginx
docker image push推送镜像:可以推给私人的远程仓库 
docker image rm删除镜像docker image rm 1924949679f3
docker image save保存一个或多个镜像文件到tar归档文件docker image save nginx > nginx1.12.tar
docker load加载一个镜像docker load -i nginx1.12.tar

docker export 

导出容器文件到tar归档文件docker export 容器ID > nginx.tar
docker image import导入容器文件系统tar归档文件创建镜像docker image import nginx.tar nginx:self
docker tag sourceImage targetImage生成一个引用源镜像的标记镜像docker tag nginx nginx:v1

三、容器常用命令

命令说明备注
docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]创建一个新的容器并运行一个命令

docker container run -itd --name ng nginx

利用nginx镜像创建一个名为ng的容器

docker container start [OPTIONS] CONTAINER [CONTAINER...]启动已停止的容器docker start 2b8c4047761e
docker container restart [OPTIONS] CONTAINER [CONTAINER...]重启容器docker restart 2b8c4047761e
docker container stop [OPTIONS] CONTAINER [CONTAINER...]停止容器docker stop 2b8c4047761e
docker container attach进入容器终端 
docker ps [OPTIONS]查看容器

docker ps 查看运行中的容器

docker ps -a 查看所有容器

docker container ls 查看容器列表 
docker container inspect 容器名称查看容器详细信息 
docker logs 容器ID查看日志信息docker logs 3b2fd1844126

docker export 

  
docker import导入容器文件系统tar归档文件创建镜像docker 
docker exec [options] containerID bash进入容器中docker exec -it 3b2fd1844126 bash
docker rm 容器ID删除容器(需要先停止容器)docker rm 3b2fd1844126

四、DockerFile

命令说明备注
FROM 当前构建的新镜像基于哪个镜像FROM microsoft/dotnet:2.1-aspnetcore-runtime
COPY将linux的文件复制到容器COPY ./files /app/files
WORKDIR /app容器工作目录 
EXPOSE 声明容器运行的服务端口EXPOSE  80 443
RUN构建镜像时运行的shell命令

RUM mkdir ttt

RUM yum install httpd

ENTRYPOINT ["dotnet", "CoreTest.dll"]  
MAINTAINER镜像维护者的信息:姓名电话邮箱等 
CMD运行容器时执行的命令CMD /usr/sbin/sshd -D
ENV声明容器内环境变量ENV MYSQL_ROOT_PASSWORD 12345
ADD添加文件或目录到镜像,如果是URL或者压缩包会自动下载或解压ADD test.tar.gz   /src/test
COPYk拷贝文件或目录到镜像。不会下载url或解压压缩包COPY  ./start.sh    /src/start.sh
ENTRYPOINT运行容器时执行的命令ENTRYPOINT /bin/bash -c 'start.sh'
VOLUME指定容器挂在到宿主机自动生成的目录或其他容器VOLUME ["var/lib/mysql"]
USER为run、cmd、ENTRYPOINT执行命令指定用户 
WORKDIR为run、cmd、ENTRYPOINT、COPY、ADD设置默认的工作目录 
HEALTHCHECK健康检查 
ARG构建镜像时指定一些参数 

四、其它

docker run 命令 option参数说明

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-p: 端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[option]: 添加链接到另一个容器;

--expose=[option]: 开放一个端口或一组端口;

--restart=[option] :no -  容器退出时,不重启容器;on-failure - 设置尝试重新启动容器的最大次数(--restart=on-failure:10); always - 无论退出状态是如何,都重启容器;如果创建时未指定 --restart=always ,可通过update 命令;docker update --restart=always  容器ID

-v [path1]:[path2]  挂载路径;例如:-v /opt/site:/app/UpFiles ;将linux上的/opt/site 和docker容器中的/app/UpFiles挂载在一起

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值