一、鏡像操作
-
列出鏡像
$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