0

客快物流大数据项目(十):Docker容器命令

 1 year ago
source link: https://blog.51cto.com/lansonli/5333932
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

客快物流大数据项目(十):Docker容器命令

原创

Lansonli 2022-05-26 13:09:44 博主文章分类:大数据项目 ©著作权

文章标签 docker centos bash 文章分类 其他 大数据 阅读数148

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

客快物流大数据项目(十):Docker容器命令_docker_06
客快物流大数据项目(十):Docker容器命令_docker_08

这时通过ps命令查看,发现可以看到启动的容器,状态为启动状态

也可以这样写

docker run -it --name=mycentos centos:latest /bin/bash

客快物流大数据项目(十):Docker容器命令_bash_10

/bin/bash的作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动bash。

  • 退出当前容器
  • 守护式方式创建容器:

docker run -di --name=容器名称 镜像名称:标签

docker run -di --name=mycentos2 centos:latest

客快物流大数据项目(十):Docker容器命令_docker_13

登录守护式容器方式:

docker exec -it 容器名称(或者容器id) /bin/bash

客快物流大数据项目(十):Docker容器命令_docker_15

 什么是守护式容器:

能够长期运行

没有交互式会话

适合运行应用程序和服务

三、停止与启动容器

docker stop 容器名称(或者容器id)

docker stop mycentos2

客快物流大数据项目(十):Docker容器命令_bash_17

docker start 容器名称(或者容器id)

docker start mycentos2

客快物流大数据项目(十):Docker容器命令_bash_19

  • 强制停止容器

docker kill 容器名称(或者容器id)

docker kill mycentos2

客快物流大数据项目(十):Docker容器命令_bash_21

四、文件拷贝

  • 如果需要将文件拷贝到容器内可以使用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

客快物流大数据项目(十):Docker容器命令_docker_23
  • 也可以直接执行下面的命令直接输出IP地址

docker inspect --format=’{{.NetworkSettings.IPAddress}}’ 容器名称(容器id)

docker inspect --format=’{{.NetworkSettings.IPAddress}}’ mycentos3

客快物流大数据项目(十):Docker容器命令_docker_25

七、删除容器

  • 删除指定的容器:

docker rm 容器名称(容器ID)

docker stop mycentos3

docker rm mycentos3

客快物流大数据项目(十):Docker容器命令_centos_27

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK