敢说敢作敢为, 无怨无恨无悔。这篇文章主要讲述客快物流大数据项目:Docker容器命令相关的知识,希望能为你提供帮助。
Docker容器命令有镜像才能创建容器,这是根本前提(下载一个CentOS镜像演示)
一、查看容器
- 查看正在运行的容器
docker ps
- 查看所有容器
docker ps -a
- 查看最后一次运行的容器
docker ps -l
- 查看停止的容器
docker ps -f status=exited
二、创建与启动容器创建容器常用的参数说明
- 创建容器的命令:
docker run
- OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字": 为容器指定一个名称; |
-d: 在run后面加上参数-d,会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i-t两个参数,创建后会自动进入容器),并返回容器ID,也即启动守护式容器; |
-i:以交互模式运行容器,通常与
-t 同时使用; |
-t:表示容器启动后会进入其命令行,为容器重新分配一个伪输入终端,通常与
-i 同时使用; |
-p: 表示端口映射 有以下四种格式 ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort 前者表示宿主机端口,后者是容器内的映射端口,可以使用多个-p做多个端口映射 |
- 启动交互式容器
docker run -it --name=centos
镜像名称:标签
/bin/bash |
拉取centos:docker pull centos |
docker run -it centos /bin/bash |
这时通过ps命令查看,发现可以看到启动的容器,状态为启动状态 |
也可以这样写 |
docker run -it --name=mycentos centos:latest /bin/bash |
/bin/bash的作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动bash。 |
- 退出当前容器
exit
- 守护式方式创建容器:
docker run -di --name=容器名称 镜像名称:标签 |
docker run -di --name=mycentos2 centos:latest |
登录守护式容器方式: |
docker exec -it 容器名称(或者容器id) /bin/bash |
能够长期运行
没有交互式会话
适合运行应用程序和服务
三、停止与启动容器
- 停止容器
docker stop 容器名称(或者容器id) |
docker stop mycentos2 |
- 启动容器
docker start 容器名称(或者容器id) |
docker start mycentos2 |
- 强制停止容器
docker kill 容器名称(或者容器id) |
docker kill mycentos2 |
- 如果需要将文件拷贝到容器内可以使用cp命令
docker cp
/tmp/anaconda.log
mycentos2:/tmp |
docker exec -it mycentos2 /bin/bash |
- 也可以将文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或者目录 |
docker cp
mycentos2:/tmp /export/ |
创建容器添加-v参数,后边为宿主机目录:容器目录,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest |
docker exec -it mycentos3 /bin/bash |
ls /usr/local/myhtml/ |
cp /export/tmp/anaconda.log /usr/local/myhtml/ |
docker exec -it mycentos3 /bin/bash |
docker run -di --privileged=true -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest |
这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要添加参数--privileged=true来解决挂载的目录没有权限的问题?
六、查看容器ip地址
- 可以通过以下命令查看容器运行的各种数据
docker inspect 容器名称(容器id) |
docker inspect mycentos3 |
- 也可以直接执行下面的命令直接输出IP地址
docker inspect --format=’.NetworkSettings.IPAddress’
容器名称(容器id) |
docker inspect --format=’.NetworkSettings.IPAddress’ mycentos3 |
- 删除指定的容器:
docker rm 容器名称(容器ID) |
docker stop mycentos3 |
docker rm mycentos3 |
推荐阅读
- 阿里云云原生一体化数仓入选 2022数博会“十佳大数据案例”
- Hyper-V 虚拟机实时迁移配置
- 代码实现MNLM | word embedding开山之作
- #云原生征文# docker数据卷与DockerFile学习
- 图分析的22种算法与图形理解
- 大厂是怎么实践装饰器模式的()
- 跳过Maven 打包时的测试,如何跳过Maven 打包测试
- 安装Qt Creator后,创建项目时出现“No valid kits found”
- 领歌敏捷协作——创建看板