查看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
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;"]