Docker 常用命令

1. 启动一个容器并且进入到容器内部

1. 例如: 启动mysql 容器并且进入到容器内部
docker run -it mysql /bin/bash

[root@basenode ~]# docker run -it mysql /bin/bash
root@5d4637ebbc2d:/# ls
bin  boot  dev	docker-entrypoint-initdb.d  entrypoint.sh  etc	home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@5d4637ebbc2d:/#

2. 交互式命令

2.1 前台交互式启动

docker run -it mysql:latest

2.2 后台守护式启动

docker run -d mysql:latest

3. 查看容器的日志

doicker logs 容器id

4. 查看容器内部运行的进程

docker top 容器id (5d4637ebbc2d)

5. 查看容器内部细节

docker inspect 容器ID

6. 进入正在运行的容器并以命令行交互

6.1 docker exec -it 容器ID bashShell

例如,进入mysql: docker run -it mysql /bin/bash
docker exec -it 4e24002bbc34 /bin/bash

6.2 重新进入docker attach 容器ID

docker attach 5d4637ebbc2d

6.3 两者的区别

1.attach 直接进入容器启动命令的终端,不会启动新的进程用exit退出,会导致容器的停止。
2.exec 是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止。

7. 从容器内拷贝文件到主机

docker cp 容器ID:容器内路径 目的主机路径

8. 容器的导出 和导入

8.1 容器的导出

docker export 容器ID > 文件名.tar

8.2 容器的导入

镜像用户 可以写root
镜像名称: 起一个有意义的名称
镜像版本号:随便写

cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

导出:

docker save -o wulmysql8.tar      mysql:8.0.27  
同时可以导出多个 
docker save -o images.tar postgres:9.6 mongo:3.4

导入 :docker load -i elasticsearch568.tar

导入
(base) [root@localhost dock]# docker load -i elasticsearch568.tar
e1df5dc88d2c: Loading layer [==================================================>]  105.1MB/105.1MB
bcbe43405751: Loading layer [==================================================>]  24.72MB/24.72MB
61c06e07759a: Loading layer [==================================================>]  7.995MB/7.995MB
341d865c1c22: Loading layer [==================================================>]  2.173MB/2.173MB
a1a8b7f7efac: Loading layer [==================================================>]  3.584kB/3.584kB
00439e7d6354: Loading layer [==================================================>]  1.536kB/1.536kB
6a47dae912f7: Loading layer [==================================================>]  401.1MB/401.1MB
148268bf14be: Loading layer [==================================================>]  400.9kB/400.9kB
a2e243de3b25: Loading layer [==================================================>]  1.292MB/1.292MB
de627896dca3: Loading layer [==================================================>]   5.12kB/5.12kB
713c7d566de9: Loading layer [==================================================>]  2.575MB/2.575MB
d7db3fe7c235: Loading layer [==================================================>]  39.49MB/39.49MB
c4f811163d78: Loading layer [==================================================>]  4.608kB/4.608kB
ed13f50f2f81: Loading layer [==================================================>]   5.12kB/5.12kB
535b2b4183de: Loading layer [==================================================>]   2.56kB/2.56kB
Loaded image: elasticsearch:5.6.8

8.1 export/import用法

查看要导出的容器
docker ps -a 
 CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                              NAMES
 addc058f62de        tensorflow/tensorflow:latest   "tensorboard --log..."   About an hour ago   Up About an hour    0.0.0.0:6006->6006/tcp, 8888/tcp   tensorboard

导出容器的镜像:

docker export tensorboard > /home/dyufei/tensorflow_tensorboard.tar
或者
docker export -o /home/dyufei/tensorflow_tensorboard.tar  tensorboard 

导入容器的镜像

sudo docker import - /home/dyufei/tensorflow_tensorboard.tar

9.common 命令提交容器副本成为一个新的镜像

***********************************************数据卷

10 数据卷

容器和宿主机的映射
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
例如:
docker run -it --privileged=true -v /opt/tmp/mydaockertomcat:/usr/local/tomcat/webapps --name wudltomcat02 tomcat:7

10.1容器实例内部被限制,只能读取不能写

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

10.2 容器的继承

 1. 先启动容器并且起图个名字:
 2.docker run -it --privileged=true -v /opt/tmp/mydaockertomcat:/usr/local/tomcat/webapps  --name wudltomcat02 tomcat:7
 2. 继承容器 u1  	docker run -it  --privileged=true --volumes-from 父类  --name u2 
 3. docker run -it --privileged=true    --volumes-from  wudltomcat02      --name wudltomcat03 tomcat:7



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值