docker常用命令

有镜像才能创建容器

1)下载镜像:docker pull xxx:TAG
2)使用centos镜像新建并启动一个容器:docker run -it centos /bin/bash

  • docker run -it centos的意思是,为centos这个镜像创建一个容器(执行完这个命令,直接就进入了容器里面,容器里面没有docker命令)
  • -it就等于 -i和-t,这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式(也就是直接进入到容器里面)
  • /bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash。

3)容器停止退出:exit
4)容器不停止退出:ctrl+P+Q
5)查看容器内运行的进程:docker top 容器ID
6)查看容器内部细节:docker inspect 容器ID
7)当前的镜像经历过哪些命令:docker history 镜像名称
8)基于正在启动的容器生成新的镜像

  • 新开一个窗口,执行以下命令进行创建:docker commit -m=”yqq” 容器ID 镜像名称:TAG

进入正在运行的容器两种方式:
1)关闭的时候,不影响原有容器的进行,通过docker ps还可以看到容器的进程
docker exec -it 容器ID /bin/bash

2)关闭的时候,容器也就推出了,通过docker ps再也看不到容器的进程
docker attach 容器ID

数据的持久化:
1、通过docker commit的方式生成一个新的镜像,使得数据作为镜像的一部分保存下来。
2、通过数据卷(卷可以理解成目录)的方式

Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。(必须要大写)
1)编写Dockerfile文件
2)构建:docker build -t 新镜像名称:TAG
3)运行:docker run -it 新镜像名称:TAG
注意如果不写TAG,TAG默认会是latest

VOLUME:容器数据卷,用于数据保存和持久化工作
ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY:类似ADD,拷贝文件和目录到镜像中,但是不会进行解压(copy src desc)
RUN:容器构建时需要运行的命令(是执行docker build时)
CMD:指定一个容器启动时要运行的命令(是执行docker run时)
(可以有多个CMD命令,但是只有最后一个生效)
例子1:
1)编写Dockerfile文件
FROM centos

ENV MYPATH /usr/local
WORKDIR $MYPATH #进入容器时,会默认进入到/usr/local这个目录

RUN yum -y install vim #在容器里面就可以使用vim命令
RUN yum -y install net-tools #在容器里面就可以使用ifconfig命令

EXPOSE 80 #暴露的端口

CMD /bin/bash

2)构建镜像(会执行Dockerfile中的RUN命令)
第一种方式(文件名称是Dockerfile1,不是标准的文件名称):docker build -f /root/docker/docker_files/Dockerfile1 -t mycentos/withtools .
第二种方式(文件名称是标准的文件名称Dockerfile,就可以省略路径):docker build -t mycentos/withtools .
注意mycentos是命名空间,和withtools都要小写,后面必须带.

3)运行容器(会执行Dockerfile中的CMD命令)
docker run -it mycentos/withtools

例子2(挂载):
FROM centos

VOLUME ["/dataVolume","/dockerDataVolume"]

CMD /bin/bash

注意这种方式挂载,运行容器之后,/dataVolume和/dockerDataVolume目录都是容器里面的路径,和-v参数数据卷(可以指定宿主机的目录)不一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值