3- docker命令


- 将当前用户添加到 - docker用户组,否则每次执行命令都要用- sudo- 1 
 2
 3- sudo groupadd docker 
 sudo usermod -aG docker $USER
 newgrp docker
3.1 帮助命令
| 1 | docker version #显示docker版本信息 | 
3.2 镜像命令
| 命令 | 参数 | 解释 | 
|---|---|---|
| docker images | -a,–all   #列出所有镜像 -q, –quiet #只显示镜像id | REPOSITORY:镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像id | 
| docker search 内容 | –filter=STARS=3000 #搜索stars大于3000的 | 从docker hub搜索镜像 | 
| docker pull 名称[:tag] | -a -q | 下载镜像, tag是版本 | 
| docker tag 镜像名 标签 | 给镜像重新打一个标签,不会增加一个镜像 | |
| docker push 用户名/镜像名 | 提交镜像 | |
| docker rmi 名称/id1 名称/id2 | -f | 删除镜像 | 
| docker rmi -f $(docker images -aq) | 删除全部镜像 | |
| docker history 镜像名 | 查看镜像构建过程 | 
docker pull
| 1 | 下载镜像: docker pull 镜像名[:tag] | 
| 1 | using default tag: latest #如果不写tag, 默认latest | 
- 分层下载的好处是可以共用。
3.3 容器命令
- 有了镜像才可以创建容器: - 1 - sudo docker pull centos - 命令 - 参数 - 说明 - docker run [可选参数] 容器- 新建容器并启动 - –name=”tomcat01” - 容器名字 - -d - 后台方式运行 - -it - 使用交互方式运行,进入容器查看内容 - -p ip:主机端口:容器端口 - -p 主机端口:容器端口 - -p 容器端口 - 容器端口 - -P - 随机指定端口 - docker run -it centos /bin/bash - 启动并进入centos容器(进入centos容器之后可以执行linux命令) - exit - 容器推出并停止 - ctrl + P + Q - 容器推出但不停止 - docker ps - [空格]: 
 -a:
 -n=2:
 -q- 列出当前正在运行的容器 
 列出当前正在运行的容器+历史运行过的容器
 显示最近创建的2个容器
 只显示容器id- docker rm 容器id - -f - 删除容器(正在运行的容器要通过-f删除) - docker rm -f $(docker ps -aq) - 删除所有容器 - docker ps -a -q | xargs docker rm - 删除所有容器 - docker start 容器id - 启动容器 - docker restart 容器id - 重启容器 - docker stop 容器id - 停止当前正在运行的容器 - docker kill 容器id - 强制停止当前容器 
| docker commit 参数 容器 镜像名  | -a:作者
-m:附加信息           | 将容器打包成镜像                                             |
- 将下载的tomcat镜像添加webapp之后打包成新的镜像: - 1 
 2- docker run --name "tomcat" -it -p 8080:8080 tomcat:9.0 /bin/bash 
 cp -r webapps.dist/* webapps- ctrl + p + q- 1 - docker commit -a "admin" -m "add webapps" tomcat mytomcat 
3.4 其他常用命令
1. 后台启动容器
| 1 | docker run -d 容器名 | 
- 使用docker ps发现刚刚运行的容器停止了。因为docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用就会自动停止。容器启动后,发现自己没有提供服务,就会立刻停止。
2. 查看日志
| 1 | docker logs -ft --tail 数字 容器 | 
- 发现没有日志信息(因为啥也没干)
- 重新运行:
| 1 | docker stop 容器 | 
- 再显示日志可以看到一直显示 - helloworld:- 1 - docker logs -tf --tail 10 容器id 
3. 查看容器中进程信息
| 1 | docker top 容器id | 
4. 查看容器的元数据
| 1 | docker inspect 容器id | 
- 会输出镜像的很多详细信息
5. 进入当前正在运行的容器
| 命令 | 区别 | 
|---|---|
| docker exec -it 容器id bin/bash | 进入容器后开启一个新的终端 | 
| docker attach 容器id | 进入容器正在执行的终端,不会开启新的进程 | 
- 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置
6. 从容器复制文件到主机
| 1 | docker cp 容器id:路径 主机路径 | 
