- A+
docker 常用命令
1查看镜像
1 |
docker images |
REPOSITORY :镜像名称
TAG :标签ID
IMAGE ID : 镜像ID
CREATED : 镜像创建日期
SIZE: 镜像大小
存放目录: var/lib/docker目录下
2搜索镜像
1 |
docker search 镜像名称 |
NAME :镜像名称
DESCRIPTION :镜像描述
STARS :用户评价
OFFICIAL :是否是官方
AUTOMATED : 自动构建,表示该镜像由dockers hub自动构建流程创建
3拉取镜像
拉去镜像就是从中央创库下载镜像到本地
1 |
docker pull 镜像名称 |
4删除镜像
按镜像id删除镜像
1 |
docker rmi 镜像 id |
删除所有镜像
1 |
docker rmi $(docker ps -a) |
5容器相关命令
查看正在运行的容器
1 |
docker ps |
查看最后一次运行的容器
1 |
docker ps -l |
查看停止的容器
1 |
docker ps -f status=exited |
创建与启动容器
创建容器命令: docker run
-i :表示运行容器
-t :表示容器启动后会进入其命令行。即分配一个伪终端
--name :为创建容器命令
-v : 表示目录映射关系(前者宿主目录,后者是映射到宿主主机上的目录)
-d : 后台运行
-p: 端口映射
(1) 交互式方式创建容器
1 |
docker run -it --name 容器名称 :镜像标签 /bin/bash |
(2)守护式方式创建容器
1 |
docker run -id --name 容器名称 镜像名称:标签 |
登录守护式容器的方式:
1 |
docker exec -it 容器名称(或容器id) /bin/bash |
停止与启动容器
停止容器
1 |
docker stop 容器名称(或者容器id) |
停止所有容器
1 |
docker stop $(docker ps -aq) |
启动容器
1 |
docker start 容器名称(或容器id) |
启动所有容器
1 |
docker start $(docker ps -aq) |
删除所有容器
1 |
docker rm $(docker ps -aq) |
6.文件拷贝
如果我们需要将要文件拷贝到容器内可以使用cp命令
1 |
docker cp 需要拷贝的文件或目录 容器名称:容器目录 |
也可以将文件从容器内拷贝出来
1 |
dockers cp 容器名称:容器目录 需要拷贝的文件或目录 |
7.目录挂载
创建容器 添加-v参数 后边为 宿主机目录:容器目录
1 |
docker run -id -v /usr/local/myhtml:/url/local/myhtml --name= centos:7 |
8.查看容器的id地址
我们可以通过以下命令查看容器运行的各种数据
1 |
docker inspect 容器名称(容器id) |
也可以直接执行下面命令直接输出ip地址
1 |
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器id) |
9.删除容器
删除指定容器
1 |
docker rm 容器名称(容器id) |
10.应用部署
mysql部署
(1)拉取mysql镜像
1 |
docker pull centos/mysql-57-centos7 |
(2) 创建容器
1 |
docker run -di --name=MYmysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql |
-p 端口映射
-e 设置环境变量 MYSQL_ROOT_PASSWORD=123456
是root用户的登录密码
(3) 进入mysql容器
1 |
docker exec -it MYmysql /bin/bash |
(4) 登录mysql
1 |
mysql -u root -p |
(5)远程登陆mysql
连接宿主机的ip ,指定端口为3306
tomcat部署
(1)拉取镜像
1 |
docker pull tomcat:7-jre7 |
(2)创建容器
1 |
docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/tomcat/webapps tomcat:7-jre7 |
Nginx部署
(1)拉取镜像
1 |
docker pull nginx |
(2)创建nginx容器
1 |
docker run -di --name=mynginx -p 80:80 nginx |
redis部署
(1)拉取镜像
1 |
docker pull redis |
(2)创建容器
1 |
docker run -di --name=myredis -p 6379:6379 redis |
11.迁移与备份
容器保存为镜像
1 |
docker commit mynginx mynginx_i |
镜像备份
1 |
docker save -o mynginx.tar mynginx_i |
镜像恢复与迁移
1 |
docker load -i mynginx.tar |
-i 输入的文件
执行后再次查看镜像,可以看到镜像已经恢复
12.docker 私有仓库
私有仓库搭建与配置
(1)拉取私有仓库镜像
1 |
docker pull registry |
(2)启动私有仓库容器
1 |
docker run -di --name=registry -p 5000:5000 registry |
(3)打开浏览器 输入http://192.168.21.129:5000/v2/_catalog 看到{"repositories":[]} 表示私有仓库搭建成功并且内容为空
(4)修改daemon.json
1 |
vi /etc/docker/daemon.json |
(5)添加以下内容,保存并退出
1 |
{"insecure-registries":["192.168.21.129:5000"]} |
此步用于让docker 信任私有仓库地址
13.镜像上传至私有创库
(1)标记镜像为私有仓库镜像
1 |
docker tag jdk1.8 192.168.21.129:5000/jdk1.8 |
(2)上传标记镜像
1 |
docker push 192.168.21.129:5000/jdk1.8 |
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫