Docker系列(二)镜像下载、操作容器、镜像导入导出等操作

一、镜像操作

  • 列出镜像

$sudo docker images
  • dockerhub检索image

$docker search image_name
  • 下载image

$docker pull image_name
#从指定位置下载
$docker pull hub.c.163.com/library/centos:latest

#从私人仓库下载
$docker pull 127.0.0.1:5000/centos:latest
 
  • 删除一个或者多个镜像;


$docker rmi image_name 
  • 显示一个镜像的历史;

$docker history image_name
  • 发布docker镜像

$docker push new_image_name
#发布到本地仓库(前提是已经搭建好了registry)
$docker push 127.0.0.1:5000/new_image_name:1.0

  ps:要发布到私有Registry中的镜像,在镜像命名中需要带上Registry的域名(如果非80端口,同时需要带上端口号)比如:

$docker push dockerhub.yourdomain.com:443/hello.demo.kdemo:v1.0
  • 修改镜像名:
docker tag imageid name:tag 

上传到本地仓库,常需要修改tag,使之与仓库ip保持一致,eg:

docker tag imageid 127.0.0.1:5000/name:tag 

 

二、对容器的操作: 

  • 启动容器:
docker run -d -p 58080:8080 --name javaweb lin_javaweb:0.1
  • 查看运行的容器
docker ps
  • 查看已退出的容器
docker ps -a
  • 进入容器内部:
#前提是容器已经run
docker exec -it id /bin/bash (or /bin/sh)
# 从容器内部跳出
exit
  • run docker并且挂载:
docker run -i -t -v /usr/local/test_docker/:/mnt/software/ 85364ad506e1 /bin/bash

  docker run -d -p 58080:8080 -v /usr/local/tomcat/webapps:/usr/data/tomcat/webapps –net=host  --name javaweb lin_javaweb:0.1

  #--net=host 允许连接外部网络

  • 停止运行的容器:
docker stop 容器名或容器ID
  • 恢复运行
docker start 容器ID 
  • 提交已退出的容器为镜像
docker commit 容器ID aoct/apache2:0.1
  • 查看容器内部详情细节:
$docker inspect <id/container_name>
  • 显示一个运行的容器里面的进程信息
$docker top Name/ID  

 

三、容器批量操作

1、停用全部运行中的容器:

docker stop $(docker ps -q)

2、删除全部容器:

docker rm $(docker ps -aq)

3、一条命令实现停用并删除容器:

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

 

四、镜像导入导出

  • 导出docker
docker save -o java8.tar lwieske/java-8
  • 导入docker
docker load < java8.tar

五、宿主与容器之间文件的拷贝

  • 从容器内拷贝文件到主机上:
docker cp <containerId>:/file/path/within/container /host/path/target
  • 从主机上拷贝文件到容器内:

         用-v挂载主机数据卷到容器内方式进行拷贝。

docker run -v /path/to/hostdir:/mnt $container

  #在容器内拷贝

  cp /mnt/sourcefile /path/to/destfile  

原文地址:https://www.cnblogs.com/hdulzt/p/7834577.html