首先来一张图:
一、启动容器:
windows,如果你也是使用docker tool
1、双击 Docker Quickstart Terminal, 启动docker
2、操作docker
如果是docker-toolbox安装的则可以按如下方法登录.
ssh登录:ssh -p22 192.168.99.100@docker
password:tcuser
使用x-shell 登录:
user-name:docker
password:tcuser
ip: 192.168.99.100
二、新建并启动容器:
$ docker run 【docker-name | docker-id】
例子:
$ docker run -d -p 127.0.0.1:8080:80 --rm --name mynginx nginx
--rm 退出时删除容器
--name 给容器命名
-d 后台运行
-p 127.0.0.1:8080:80 指定端口,127.0.0.1:8080指宿主计算机,80指容器端口
三、启动已终止容器:
$ docker container start
四、终止容器:
$ docker [containername/containerId] stop
$ docker stop $(docker ps -a -q) 停止所有容器
列出本机所有容器,包括终止运行的容器
$ docker container ls --all
五、进入容器
attach 命令
$ docker attach 243c
root@243c32535da7:/#
exec 命令
$ docker container exec -it [containerID] /bin/bash
六、退出容器:
退出而不关闭容器:Ctrl+P+Q
退出关闭:exit(如果是使用exec的方法进入则不会关闭)
$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID
$ docker ps -a // 查看所有容器
$ docker ps -a -q // 查看所有容器ID
$ docker stop $(docker ps -a -q) // stop停止所有容器
$ docker rm $(docker ps -a -q) // remove删除所有容器
七、删除容器:
docker rm /redis
redis:容器id或者名字
docker rm $(docker ps -a -q) 删除所有容器
八、删除镜像:
删除images,通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image的话
docker rmi $(docker images -q)
九、端口映射:
docker run -itd -p ip:hostPort:containerPort 【imageName】
使用-p参数会分配宿主机的端口映射到虚拟机。
IP表示主机的IP地址。
hostPort表示宿主机的端口。
containerPort表示虚拟机的端口。
-t:开启伪终端运行容器
-i:交互模式运行容器
-d:后台模式运行容器
十、查看docker ip:
$ docker-machine ip default
十一、配置国内镜像(win):
$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io
$ systemctl restart docker 重启docker
mac参考:http://guide.daocloud.io/dcs/...
十二、创建镜像:
1、根据Dockerfile生成docker镜像(Dockerfile首字母必须大写)
$ docker build -t [rename] .
注意:点号不能去掉
2、根据容器生成镜像:
$ docker commit [container-id] [rename-image]
十三、推送镜像到远端
打版本:
$ docker tag [local-image-name]:[version] [remote-lib-name]/[image-name]:[version]
push:
$ docker push [remote-lib-name]/[image-name]:[version]
参考:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。