Docker 常用命令

Docker  

一、镜像

  1. # 创建镜像
  2. dockfile 所在目录 执行下面命令
  3. docker build -t docker-test .
  4. 注:docker-test 是我们给这个镜像起的名字
  5. # 查看当前所有镜像
  6. docker images
  7. # 删除镜像
  8. docker rmi 镜像标识(可以是镜像短id、镜像名、镜像长id
  9. docker rmi docker-test
  10. # 重命名镜像
  11. docker tag 镜像ID 新镜像名称:新镜像标签
  12. docker tag 2b9bd146441d swoft:swoft-tag

 

二、网络

  1. # 查看 docker 当前拥有的网络类型
  2. docker network ls
  3. # 创建自定义网络
  4. docker network create --subnet=172.10.0.0/16 haveyb-network

 

三、容器

  1. # 构建容器
  2. docker run -itd --name 自定义容器名 --net 自定义网络类型 -p 6380:6379 --ip 172.10.0.2 使用的镜像名
  3. docker run -itd --name redis-master --net haveyb-network -p 6380:6379 --ip 172.10.0.2 docker-test
  4. 参数解释:
  5. -i: 以交互模式运行容器,通常与 -t 同时使用
  6. -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  7. -d: 后台运行容器,并返回容器ID
  8. --name 为创建的容器命名
  9. --net: 指定网络模式(这里指定刚才创建的自定义网络模式)
  10. -p: 端口映射,格式为:主机(宿主)端口:容器端口
  11. --ip: 为容器制定一个固定的ip
  12. # 查看运行中的容器
  13. docker ps -a
  14. # 查看某个网络类型下,容器的地址
  15. docker network inspect 网络类型名称
  16. docker network inspect haveyb-network
  17. # 进入容器
  18. docker exec -it 容器名 bash
  19. docker exec -it redis-master bash
  20. # 退出容器
  21. exit
  22.  
  23. # 停止容器
  24. docker stop 容器名
  25. docker stop redis-slave3
  26. # 开启容器
  27. docker start 容器名
  28. docker start redis-slave3
  29. # 删除容器
  30. docker rm 容器ID
  31. #重命名容器
  32. docker rename 容器ID 新容器名称:新容器标签名
  33. docker rename 31c0472cb0bd swoft-1:w1

默认docker中的linux是不支持clear操作的,可以通过 yum install -y ncurses 来安装扩展,进而可以使用clear、vim等命令

 

四、宿主机与容器之间文件互传

1、宿主机向容器传文件

将宿主机的 index.php 拷贝到 容器名为 swoft 的 /data 目录下

  1. docker cp index.php swoft:/data
2、容器向宿主机传文件

将容器名为 swoft 的容器的 /data/index.php 文件拷贝到 宿主机的 /data 目录下

  1. docker cp swoft:/data/index.php /data

特别注意:这两条命令都是在宿主机上执行的,而不是在容器里执行的

 

 



Top