cmd命令生成webservice_Docker常用命令

本文详细介绍了Docker的常用命令,包括镜像搜索、下载、列出和删除,以及容器的创建、启动、停止、日志查看和删除。还讲解了如何使用Dockerfile构建微服务镜像,并提供了一个实际的Dockerfile示例,最后展示了如何启动并访问构建的微服务应用。
摘要由CSDN通过智能技术生成

镜像常用命令

1.搜索镜像:docker search xxx

  • NAME:镜像仓库名称。

  • DESCRIPTION:镜像仓库描述。

  • STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0

  • OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维 护。

  • AUTOMATED:表示是否是自动构建的镜像仓库

阿里云配置镜像加速器:

https://cr.console.aliyun.com/cn-qingdao/instances/mirrors

28be256c89329e5686b2179c0d851262.png

查看有没有 daemon.json。这是docker默认的配置文件。如果没有新建,如果有,则修改

cd /etc/dockervim daemon.json{"registry-mirrors": ["https://qs852e0r.mirror.aliyuncs.com"]}

保存退出。重启docker服务

service docker restart

2.下载镜像 docker pull xxx

3.列出镜像 docker images命令即可列出已下载的镜像

  • REPOSITORY:镜像所属仓库名称。-

  • TAG:镜像标签。默认是 latest,表示最新。

  • IMAGE ID:镜像 ID,表示镜像唯一标识。-

  • CREATED:镜像创建时间。

  • SIZE: 镜像大小。

4.删除本地镜像 docker rmi java

容器常用命令

1、新建并启动容器

使用以下docker run命令即可新建并启动一个容器,该命令是最常用的命令,它有很多选项, 下面将列举一些常用的选项。

-d选项:表示后台运行

-P选项:随机端口映射

-p选项:指定端口映射,有以下四种格式。

1-- ip:hostPort:containerPort  23-- ip::containerPort 45-- hostPort:containerPort  67-- containerPort

--net选项:指定网络模式,该选项有以下可选参数:

1--net=bridge:默认选项,表示连接到默认的网桥。23--net=host:容器使用宿主机的网络。告诉 Docker 不要将容器网络放到隔离的名字空间中,即不要容器化容器内的网络。此时容器使用本地主机的网络,它拥有完全的本地主机接口访问权限。容器进程可以跟主机其 它 root 进程一样可以打开低范围的端口,可以访问本地网络服务比如 D-bus,还可以让容器做一些影响整个主机系统的事情,比如重启主机。因此使用这个选项的时候要非常小心。如果进一步的使用 --privileged=true,容器会被允许直接配置主机的网络堆栈 45--net=container:NAME-or-ID:让 Docker 将新建容器的进程放到一个已存在容器的网络栈中,新容器进程有自己的文件系统、进程列表和资源限制,但会和已存在的容器共享 IP 地址和端口等网络资源,两者进程可以直接通过 lo 环回接口通信。67--net=none:让 Docker 将新容器放到隔离的网络栈中,但是不进行网络配置。
之后,用户可以自己进行配置。

docker run -d -p 91:80 nginx

2、列出容器

docker ps

如需列出所有容器(包括已停止的容器),可使用-a参数。该列表包含了7列,含义如下

  • CONTAINER_ID:表示容器 ID。

  • IMAGE:表示镜像名称。

  • COMMAND:表示启动容器时运行的命令

  • CREATED:表示容器的创建时间。-

  • STATUS:表示容器运行的状态。UP表示运行中, Exited表示已停止。

  • PORTS:表示容器对外的端口号。

  • NAMES:表示容器名称。该名称默认由 Docker自动生成,也可使用 docker run命令的-name选项自行指定

3、停止容器

使用 docker stop命令,即可停止容器

docker stop f0b1c8ab3633

其中f0b1c8ab3633是容器 ID,当然也可使用 docker stop容器名称来停止指定容器

4、强制停止容器

可使用 docker kill命令发送 SIGKILL信号来强制停止容器

docker kill f0b1c8ab3633

5、启动已停止的容器

使用docker run命令,即可新建并启动一个容器。对于已停止的容器,可使用 docker start命 令来启动

docker start f0b1c8ab3633

6、查看容器所有信息

docker inspect f0b1c8ab3633

7、查看容器日志

docker container logs f0b1c8ab3633

8、查看容器里的进程

docker top f0b1c8ab3633

9、进入容器

使用docker exec命令用于进入一个正在运行的docker容器。如果docker run命令运行容器的时候,没有使用-it参数,就要用这个命令进入容器。一旦进入了容器,就可以在容器的 Shell  执行命令了

docker exec -it f0b1c8ab3633 /bin/bash

docker run -it centos /bin/bash 后面的 bin/bash的作用

首先,docker run -it centos 的意思是,为centos这个镜像创建一个容器, -i和-t这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式?(也就是直接进入到容器里面)后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这样当你使用docker ps 查看启动的容器时,就会发现你刚刚创建的那个容器并不在已启动的容器队列中。这个/bin/bash就表示启动容器后启动bash。

10、删除容器

使用 docker rm命令即可删除指定容器

docker rm f0b1c8ab3633

该命令只能删除已停止的容器,如需删除正在运行的容器,可使用-f参数

Dockerfile常用指令

指令描述指令描述
FROM构造的新镜像是基于哪个镜像例如:FROM centos:v1COPY拷贝文件或者目录到镜像,用法同ADD例如:COPY ./startup.sh /startup.sh
MAINTAINER维护者信息例如:MAINTAINER yanglinENTRYPOINT运行容器时执行的shell命令例如:ENTRYPOINT ["/bin/bash","-c","/startup.sh"]ENTRYPOINT /bin/bash -c '/startup.sh'
RUN构建镜像时运行的shell命令例如:RUN ["yum", "install", "http"]RUN yum install httpdVOLUME指定容器挂载点到宿主机自动生成的目录或者其他容器例如:VOLUME ["/path/to/dir"]
CMD运行容器时执行的shell命令例如:CMD ["-c","/startup.sh"]CMD ["/usr/sbin/sshd","-D"]CMD /usr/sbin/sshd -DUSER为RUN,CMD,ENTRYPOINT执行命令指定运行用户例如:USER www镜像构建完成后,通过docker run运行容器时,可以通过-u参数来覆盖所指定的用户。
EXPOSE指定于外界交互的端口,即容器在运行时监听的端口EXPOSE 8081 8082WORKDIR为RUN,CMD,ENTRYPOINT,COPY和ADD设置工作目录例如:WORKDIR /data
ENV设置容器内环境变量例如:ENV MYSQL_ROOT_PASSWORD 123456HEALTHCHECK健康检查HEALTHCHECK --interval=5m --timeout=3s CMD curl -f http://localhost/ ||exit 1
ADD拷贝文件或者目录到镜像,如果是URL或者压缩包会自动下载或者自动解压例如:ADD hom* /mydir/ ADD test relativeDir/ARG在构建镜像时指定一些参数例如:FROM centos:6ARG age=100

注意:RUN命令在 image 文件的构建阶段执行,执行结果都会打包进入 image 文件;CMD 命令则是在容器启动后执行。另外,一个 Dockerfile 可以包含多个RUN命令,但是只能有一 个CMD命令。注意,指定了CMD命令以后,docker container run命令就不能附加命令了(比如前面 的/bin/bash),否则它会覆盖CMD命令。

使用Dockerfile构建微服务镜像

使用Dockerfile构建微服务镜像 以项目05-ms-eureka-server为例,将该微服务的可运行jar包构建成docker镜像 1、将jar包上传linux服务器/app/eureka目录,在jar包所在目录创建名为Dockerfile的文件

2、在Dockerfile中添加以下内容

# 基于哪个镜像 From java:8

# 复制文件到容器 ADD microservice-eureka-server-0.0.1-SNAPSHOT.jar /app.jar

# 声明需要暴露的端口 EXPOSE 8761

# 配置容器启动后执行的命令 ENTRYPOINT ["java","-jar","/app.jar"]

3、使用docker build命令构建镜像

# docker build -t microservice-eureka-server:0.0.1 .

# 格式:docker build -t 镜像名称:标签 Dockerfile的相对位置 在这里,使用-t选项指定了镜像的标签。

4、启动镜像,加-d可在后台启动

docker run -p 8761:8761 microservice-eureka-server:0.0.1

使用 -v 可以挂载一个主机上的目录到容器的目录

docker run -p 8761:8761 -v /tmp:/tmp microservice-eureka-server:0.0.1

5、访问http://Docker宿主机IP:8761/,可正常显示Eureka Server首页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值