0
点赞
收藏
分享

微信扫一扫

Docker常用的命令

残北 2023-04-25 阅读 81


关于Docker容器(linux版)

环境:CentOS7、docker容器、镜像加速

  • 安装docker容器点这里🎁
  • 镜像加速点这里🎁

查看所有停止的容器

[root@Node1 docker]# docker ps -f status=exited
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAM

创建容器(需要先拉取镜像)

1、命令:docker run -it --name=容器名称 镜像名称:标签 /bin/bash

[root@Node1 docker]# docker run -it --name=centos1 tutum/centos /bin/bash
 (交互式:推出即退出)
[root@45f0876be2b3 /]# ps
   PID TTY          TIME CMD
     1 pts/0    00:00:00 bash
    16 pts/0    00:00:00 ps
[root@45f0876be2b3 /]# exit
exit

2、命令:docker run -di --name=容器名称 镜像名称:标签(创建)
   命令:docker exec -it 容器名称 (或者容器ID)  /bin/bash(登录)

[root@Node1 docker]# docker run -di --name=centos2 tutum/centos
(守护式:需登录)
dd8f93f14ea3faa883f8218384d77291e6515dd79ee372b8b4e754c5554bd844
[root@Node1 docker]# docker exec -it centos2 /bin/bash
 (登录)
[root@dd8f93f14ea3 /]# ps
   PID TTY          TIME CMD
    16 pts/0    00:00:00 bash
    30 pts/0    00:00:00 ps
[root@dd8f93f14ea3 /]# exit
exit

相关参数:
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

停止和启动容器

[root@Node1 docker]# docker stop centos2
centos2
[root@Node1 docker]# docker start centos2
centos2

拷贝

1.从容器拷贝到本地(例子chen文件已经存于centos容器/目录下)
  docker cp 容器名称:容器目录 需要拷贝的文件或目录

[root@Node1 ~]# docker cp centos2:/chen /
[root@Node1 ~]# cd /
[root@Node1 /]# ll
total 24
lrwxrwxrwx.   1 root root    7 Sep  2 12:39 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Sep  6 15:28 boot
-rw-r--r--.   1 root root    9 Sep  6 15:36 chen

2.从本地拷贝到容器(例子chen文件已经存于本地/目录下)
  docker cp 需要拷贝的文件或目录 容器名称:容器目录

[root@Node1 /]# docker cp /chen centos2:/chen2
[root@Node1 /]# docker exec -it centos2 /bin/bash
[root@dd8f93f14ea3 /]# ll
total 36
-rw-r--r--.   1 root root 18298 Mar  4  2016 anaconda-post.log
lrwxrwxrwx.   1 root root     7 Mar  4  2016 bin -> usr/bin
-rw-r--r--.   1 root root     9 Sep  6 07:36 chen
-rw-r--r--.   1 root root     9 Sep  6 07:36 chen2

目录挂载

已有/data在宿主机
[root@Node1 /]# docker run -di -v /data:/data --name=centos3 tutum/centos
2edae6f9e00c7494aea95e368d918897d7a9d0cc3a8f81157f1d70bbeed720f8
[root@Node1 /]# docker exec -it centos3 /bin/bash
[root@2edae6f9e00c /]# cd /data
[root@2edae6f9e00c data]# ll
total 0
[root@2edae6f9e00c data]# exit
exit
[root@Node1 /]# cd data
[root@Node1 data]# ll
total 0
[root@Node1 data]# mkdir chen
[root@Node1 data]# vi shu
[root@Node1 data]# cat shu
new
[root@Node1 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep  6 15:52 chen
-rw-r--r--. 1 root root 4 Sep  6 07:52 shu
[root@Node1 data]# docker exec -it centos3 /bin/bash
[root@2edae6f9e00c /]# cd /data
[root@2edae6f9e00c data]# ll
total 4
drwxr-xr-x. 2 root root 6 Sep  6 07:52 chen
-rw-r--r--. 1 root root 4 Sep  6 07:52 shu
[root@2edae6f9e00c data]# cat shu
new

查看容器IP

[root@Node1 data]# docker inspect --format='{{.NetworkSettings.IPAddress}}' centos3
172.17.0.3

详细点这里🎁


举报

相关推荐

0 条评论