首先来一张图:
图片描述

一、启动容器:

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]

参考:

https://segmentfault.com/a/11...

https://blog.csdn.net/qq_2999...


seven
6 声望1 粉丝

good good study