Docker常用命令

查看docker容器版本

docker version

查看docker容器信息

docker info

查看docker容器帮助

docker –help

将镜像保存为本地文件

docker save -o registry.docker 111622000b9b

加载本地镜像文件

docker load -i ./registry.docker

推送镜像

推送之前先给镜像打标签

docker tag proa 192.168.3.69:85/test/proa:v1

docker push 192.168.3.69:85/test/proa:v1

  注意:当上传到只有内网的私有仓库时,镜像名字必须带地址、端口比如这次的地址173.46.177.6:5000

查看本地镜像

docker images

拉取镜像

docker pull 192.168.1.61:85/library/spc-admin

构建镜像并打标签

docker build -f /opt/software/Dockerfile -t 192.168.1.202/library/nginx .

删除镜像

docker rmi -f 镜像名称 删除所有镜像 docker rmi -f $(docker images -q)

批量删除除了goharbor和jenkins外的所有镜像(注意goharbor有个 自动隐藏了?)

docker rmi -f $(docker images | grep -v 'goharbor|jenkins' | awk {'print $3'})

删除所有未打 dangling(空) 标签的镜像

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

通过镜像新建并运行容器

docker run -itd -p 8830:8830 --restart=always -v /disk:/disk –name   spc-admin  192.168.1.61:85/library/spc-admin

-p 映射端口

-- restart=always 开启自启容器

-v 指定容器挂载到宿主机的目录,容器内目录会自动创建

-i 运行容器

-d 后台运行

--name 新建容器时命名(名字假如已存在会报错)

搜索镜像

docker search 镜像名称

docker信任harbor配置

{ "registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"], "insecure-registries": ["192.168.1.202:85"] }

登录harbor仓库

docker login -u admin -p Harbor12345 192.168.1.202:85

启动-停止-删除容器

docker start 容器名字/id

启动所有停止的容器

docker start $(docker ps -a -q)

docker stop 容器名字/id

停止所有容器

docker stop $(docker ps -a -q)

删除容器

docker rm 容器名字/id

删除所有容器

docker rm $(docker ps -a -q)

启动容器-MQ

docker start 1b5dba3a96d1

创建容器并运行(15672是管理界面的端口,5672是服务的端口。这里顺便将管理系统的用户名和密码设置为admin admin)

docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:managemen

查看所有正在运行容器

docker ps 查看所有容器(包括运行和没运行的容器)

docker ps –a

进入已运行容器

docker exec -it 容器ID /bin/bash 或者 docker exec -it 容器ID sh 注意:因为有时docker里面是没有/bin/bash,所以会报错

容器保存为镜像

docker commit <当前运行的container id> <仓库名称>:<tag>

docker commit 852aaa13d423 192.168.1.61:85/library/nginx

查看容器日志

docker logs 容器ID

docker logs -f -t --since=“2017-05-31” --tail=10 edu_web_1

docker logs -f --tail=500 dispatch

命令说明: –since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。 -f : 查看实时日志 -t : 查看日志产生的日期 -tail=10 : 查看最后的10条日志。 edu_web_1 : 容器名称

复制容器文件到宿主机

#复制vendor.js到外部

docker cp fa85a4c478bf:/usr/src/app/_site/vendor.js /usr/local/

复制宿主机文件到容器

docker cp /usr/local/vendor.js d9f5985c33a3:/usr/src/app/_site

显示运行容器总文件大小

docker ps –s

查看容器IP

docker inspect --format='{{.NetworkSettings.IPAddress}}' 10187f71f64a

容器更新为开机自启

docker container update --restart=always ec9eb7dcd54d

docker run -m 512m --memory-swap 1G -it -p 58080:8080 --restart=always

Harbor启动停止重启

cd /opt/software/harbor/

docker-compos up -d 启动

docker-compose stop 停止

docker-compose restart 重新启动


JDK基础环境dockerfile

#基础镜像 FROM centos:7 #设置变量命令,ARG命令定义了一个变量,在docker build创建镜像的时候,使用 --build-arg =来指定参数 ARG myname #指定作者和元素数据标签 MAINTAINER $myname LABEL author=mingling #复制文件到镜像 ADD jdk-8u261-linux-x64.tar.gz /opt/software/ #配置环境变量 ENV JAVA_HOME=/opt/software/jdk1.8.0_261 ENV CLASSPATH .:$JAVA_HOME/lib ENV PATH $PATH:$JAVA_HOME/bin #设置工作目录,对RUN,CMD,ENTRYPOINT,COPY,ADD生效。如果不存在则会创建,也可以设置多次。 WORKDIR $JAVA_HOME #构建镜像时运行指定的命令 RUN java –version

nginx基础环境dockerfile

FROM centos:7 LABEL maintainer www.ctnrs.com RUN yum install -y gcc gcc-c++ make openssl-devel pcre-devel gd-devel iproute net-tools telnet wget curl && yum clean all && rm -rf /var/cache/yum/*

ADD nginx-1.19.0.tar.gz / RUN cd nginx-1.19.0 && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module && make -j 4 && make install && mkdir /usr/local/nginx/conf/vhost && cd / && rm -rf nginx* && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/nginx/sbin COPY nginx.conf /usr/local/nginx/conf/nginx.conf WORKDIR /usr/local/nginx EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]


原文地址:https://www.cnblogs.com/pengrj/p/15343333.html