1.把容器保存为镜像
# docker commit -m "centos_with_httpd" -a "90root" 8e2547638bb3 centos_with_httpd:v1 #容器保存为镜像
# docker images #查看镜像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos_with_httpd v1 aa7cc183e588 18 seconds ago 366.6 MB
# docker run -itd -p 5123:80 centos_with_httpd:v1 bash #将容器的80端口映射到宿主机的5123端口
//-t - 分配一个(伪)tty (link is external)
//-i - 交互模式 (so we can interact with it)
# docker exec -it 23ecd12c7a10 bash #进入容器
2.查看容器日志
docker logs -f <容器名orID>
3.查看正在运行的容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9895bbb0ebae 104.250.142.171:5000/centos_yxdown_mod:1 "bash" 52 minutes ago Up 52 minutes romantic_brattain
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9895bbb0ebae 104.250.142.171:5000/centos_yxdown_mod:1 "bash" 52 minutes ago Up 52 minutes romantic_brattain
2a578421a8c9 104.250.142.171:5000/centos_yxdown_mod:1 "--net=host bash" 52 minutes ago boring_einstein
e1ac097f5000 104.250.142.171:5000/centos_yxdown_mod:1 "-v /home/:/home/ -v 55 minutes ago adoring_thompson
b16fd10dcb85 registry "/entrypoint.sh /etc 8 days ago Exited (2) 8 days ago jolly_pare
80ac5f25c6b7 centos "/bin/bash" 8 days ago Exited (137) 8 days ago high_wright
4.删除所有容器
docker rm $(docker ps -a -q)
删除单个容器
docker rm <容器名orID>
5.停止、启动、杀死一个容器
docker stop <容器名orID>
docker start <容器名orID>
docker kill <容器名orID>
6.查看所有镜像
#docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos_yxdown_mod_1 1 b44a0c03f5cd About an hour ago 554.4 MB
localhost:5000/centos_yxdown_mod 1 b44a0c03f5cd About an hour ago 554.4 MB
centos_with_nginx latest 3c38e3bc5adf 2 days ago 520.3 MB
localhost:5000/centos-6-x86_minimal latest b98100c04fab 2 days ago 343.8 MB
centos-6-x86_minimal latest b98100c04fab 2 days ago 343.8 MB
registry 2 ad8da6d14f6d 4 weeks ago 33.28 MB
7.删除所有镜像
docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)
8.运行一个新容器,同时为它命名、端口映射、文件夹映射。以centos:latest镜像为例
docker run --name new_dockername -p 80:80 -p 8000:8080 -d -v /var/files:/redmine/files -v /var/mysql:/var/lib/mysql centos:latest
9.一个容器连接到另一个容器
docker run -i -t --name test -d -link mysql:db centos-server env
//容器连接到mysql容器,并将mysql容器重命名为db。这样,new_test容器就可以使用db的相关的环境变量了。"centos-server"为test容器的镜像;env为环境变量
10.拉取镜像
docker pull <镜像名:tag>
11.当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。
机器a
docker save busybox-1 > /home/save.tar
使用scp将save.tar拷到机器b上,然后:
docker load < /home/save.tar
12.构建自己的镜像
docker build -t <镜像名> <Dockerfile路径>
如Dockerfile在当前路径:
docker build -t xx/gitlab .
13.后台运行(-d)、并暴露端口(-p)
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
14.从container中拷贝文件出来
docker cp 7bb0e258aefe:/etc/debian_version /tmp
//7bb0e258aefe是容器Id;
注意:只要7bb0e258aefe没有被删除,文件命名空间就还在,可以放心的把exit状态的container的文件拷贝出来
15.推送镜像到本地仓库
docker push localhost:5000/centos:1
本文由 Mr Gu 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Oct 12, 2016 at 02:42 pm