以下命令基于已经成功安装docker
启动docker: systemctl start docker
守护进程重启 sudo systemctl daemon-reload
重启docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
关闭docker service docker stop
关闭docker systemctl stop docker
1.查看正在运行的容器
sudo docker ps
2.查看所有的容器
sudo docker ps -a
3.查看本地镜像
sudo docker images
4.从镜像中运行/停止一个新实例
sudo docker run/stop containerID
5.避免输出Sudo
这里把当前用户加入到docker组就可以直接使用命令,而不用每次都加sudo
sudo groupadd docker
#改完后需要重新登陆用户
sudo gpasswd -a ${USER} docker
6.Docker版本
sudo docker --version
7.搜索Docker Image
$ docker search tutorial
搜索网址是:index.docker.io [国内无法访问]
其他网址是:https://hub.docker.com/
8.通过docker命令下载tutorial镜像
$ docker pull learn/tutorial
9.从指定image里生成一个container并在其中运行一个命令
docker run [image] [cmd]
10.在container里运行交互式命令,比如shell
docker run -i -t [image] [cmd]
#例如
docker run -i -t ubuntu /bin/bash
11.在container里运行后台任务
docker run -d [image] [cmd]
12.列出最近一个运行过的container
不加-l则只列出正在运行的container(比如后台任务)
docker ps -l
13.查看container详情
docker inspect [container]
14.删除某个container
其中container_id不需要输入完整,只要能保证唯一即可。
运行中的Docker容器是无法删除的,必须先通过docker stop或者docker kill命令停止。
docker rm [container]
docker rm `docker ps -a -q` #删除所有容器,-q表示只返回容器的ID
15.再次运行某个container
docker start [container]
16.查看某个container的运行日志
docker logs [container]
docker logs -f [container] 类似tailf
17.切换到后台任务container, 需要当前容器正常运行
注意:切换到后台任务以后无法用Ctrl-C退出
docker attach [container]
18.中止后台任务container
docker stop [container]
19.将container保存为一个image
docker commit [container] [image_name]
21.将image上传到仓库
docker push [image_name]
22.删除images
$ docker rmi [image id]
23.为容器指定名称,容器的名称是唯一
$ docker run --name edison -i -t ubuntu /bin/bash
24.有三种方式可以唯一指代容器
短UUID: 716d3c16dc65(12位)
长UUID:716d3c16dc654230ada14f555faadd036474231dfca0ca44b597574a5c618565(64位)
名称: edison
25.当前Docker宿主机的信息
$ docker info
26.查看容器内部的进程信息
$ docker top [container]
27.在容器中运行后台任务,只对正在运行的容器有效。
$ docker exec -d [container] [cmd]
$ docker exec -d edison touch /home/haha
28.在容器中运行交付式任务,只对正在运行的容器有效。
$ docker exec -t -i edison /bin/bash
注:在/var/lib/docker中,可以查看Docker Image、Container和Volumes等细节信息。
29.进入一个已经启动的docker容器
docker attach ContainerID ,exit退出就会导致容器stop
docker exec -it ContainerID /bin/bash 这个命令exit退出,容器还在运行
以下参考:
https://www.cnblogs.com/linjiqin/p/8604756.html
Docker 本地导入镜像/保存镜像/载入镜像/删除镜像
1.docker导入本地镜像
我们可以把本地的镜像导入,使用docker import 命令。
cat alibaba-rocketmq-3.2.6.tar.gz | docker import - rocketmq:3.2.6(镜像名自己定义)
注意镜像文件必须是tar.gz类型的文件。
2.保存镜像
使用docker save命令,保存镜像到本地。
docker save -o rocketmq.tar rocketmq ##-o:指定保存的镜像的名字;rocketmq.tar:保存到本地的镜像名称;rocketmq:镜像名字,通过"docker images"查看
然后可以通过ll查看到本地的rocketmq.tar文件
3.载入镜像
使用docker load将本地保存的镜像再次导入docker中
docker load --input rocketmq.tar 或 docker load < rocketmq.tar
4.删除镜像
docker rmi -f image_id ##-f:表示强制删除镜像;image_id:镜像id
镜像命名规则,是系统名+系统版本+服务名+服务版本:代码版本,比如我centos 6.5系统安装了nginx 1.4.7版本,放入代码是2.0版本,那么容器命令规则为centos6.5-nginx-1.4.7:2.0.