docker常用命令
-
启动:
systemctl start docker
-
关闭:
systemctl stop docker
-
重启:
systemctl restart docker
-
查看docker版本:
docker version
1.镜像:
- 查询镜像:
docker search 镜像名
- 查看镜像列表:
docker images
- 拉取镜像:
docker pull 镜像名称或ID
- 上传镜像到仓库:
docker push 镜像名称
- 修改镜像名称:
docker tag 镜像ID 新镜像名称:版本
- 删除某个镜像:
docker rmi 镜像名称或ID
- 删除所有镜像:
docker rmi $(docker images -q)
- 从已经创建的容器中更新镜像,并且提交这个镜像 使用 Dockerfile 指令来创建一个新的镜像 下面通过已存在的容器创建一个新的镜像
docker commit -m="First Image" -a="keke" 7a15f99695c0 keke/unbantu:17.10.0
- 命令参数说明:
- -m 提交的描述信息
- -a 指定镜像作者
- 7a15f99695c0 :记住这个是容器id,不是镜像id
- keke/unbantu:17.10.0: 创建的目标镜像名
- 查询镜像:
2.容器:
-
查看所有容器:
docker ps
-
列出所有容器ID:
docker ps -qa
:label:-q:只显示容器ID -a:列出所有容器 -l:列出最近创建的容器 -
查看容器日志:
docker logs -f ID
-
简单操作:
docker run 镜像ID|镜像名称[:tag]
-
根据容器名称查找镜像
docker ps -a --filter ancestor=镜像名称
-
常用的参数:
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像ID|镜像名称[:tag]
- docker单实例启动nacos:
docker run --name 容器名称 -e MODE=standalone -d -p 宿主机端口:容器端口 -p 9849:9848 -p 9849:9849 镜像id
- -d: 代表后台运行容器
- -P 宿主机端口:容器端口 : 为了映射当前linux的端口和容器的端口
- -name 容器名称: 指定容器的名称,可省略,省略的话docker会随机产生一个名字
-
在容器中安装新的程序:
docker run 镜像ID apt-get install -y -name
注意:在执行apt-get 命令的时候,要带上-y参数 -
进入容器内部:docker exec -it <容器id> /bin/bash
2.1操作容器:
- 启动、停止、重启、杀死某个docker 容器
docker start 容器ID
docker stop 容器ID
docker restart 容器ID
docker kill 容器ID
- 容器开机自启
docker update --restart=always id
- 删除容器
docker rm Name/ID
docker rm -f Name/ID
:label:强制删除某个容器docker rm $(docker ps -qa)
:label:删除所有容器
- 查看容器内运行的进程:
docker top Name/ID
- 进入容器内部:
docker attach name/id
docker exec name/id
- 从容器里面拷贝文件/目录到本地一个路径
docker cp NameID:容器内的文件路径 宿主机路
例:docker cp f9e29e8455a5:/tmp/yum.log /root
docker-compose操作
-
二进制安装
#指定版本安装: $ sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.1/\ docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose #对二进制文件赋可执行权限 $ sudo chmod +x /usr/local/bin/docker-compose
-
YUM安装
yum -y install docker-compose
-
测试安装是否成功
docker-compose --version docker-compose version 1.23.1, build 1719ceb #卸载: sudo rm /usr/local/bin/docker-compose