Docker的简单使用和命令说明
Docker的简单使用和命令说明
官网镜像路径:https://hub.docker.com
有OFFICAL IMAGE标签的就是官方的镜像,个人镜像区别就是版本,配置有些不一样
可以在镜像下面的介绍中配置启动参数,可以达到修改参数的目的
核心概念
镜像:容器的静态文件(类似Java中的实体类.java文件)
容器:从镜像运行启动的虚拟容器(类似Java中实例化的对象)
安装:
先卸载旧版的docker
sudo yum remove docker-ce \ docker-ce-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
安装工具:
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
配置yum仓库地址
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
一般用下面那个阿里云的
更新yum缓存
sudo yum makecache fast
从远程获取在线文件安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
启动测试:
docker是以服务形式启动的:
sudo systemctl start docker
配置开机启动(服务设置为自动)
sudo systemctl enable docker
需要配置一下docker的镜像加速器
cat <<EOF > /etc/docker/daemon.json { "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://hub-mirror.c.163.com" ] } EOF
配置后记得重启
# 重新加载docker配置 sudo systemctl daemon-reload #重启docker服务 sudo systemctl restart docker
完成后就可以查看镜像配置了
docker info
镜像操作命令说明:
拉取镜像
从远程镜像仓库拉取centos7,centos是Repository,7是Tag(版本)Tag需要去docker官网查询,里面版本有区别(比如docker系统环境,其他配置,比如带不带RabbitMQ的Management功能),如果Tags不指定的话就是latest
docker pull centos:7
镜像需要一层一层的下载,比如最底层需要用操作系统,然后进行安装,再进行配置,最后可能还有容器的配置
如果执行了运行镜像命令,docker会检查是否存在该镜像,如果不存在会自动从远程仓库下载
查看镜像
#命令1 docker images #命令2 docker image ls #命令3:查看镜像配置过程 docker history redis
运行镜像–简单
docker run -it xxxx bash
xxxx - 镜像名, 或 image id 的前几位,足够区分即可
-it 这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
bash 放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
删除镜像
docker rmi [image] [image] docker image rm [image] [image]
这两条都可以,也可以写镜像的id前几位足够区分即可(至少3位)
只要这个镜像启用过,不管现在容器是否在启动状态,都会占用这个镜像,需要加一个-f参数强制删除
镜像导出
docker save mysql:5.7 node:8 | gzip > app.tar.gz
这里是导出2个镜像
镜像从本地导入
docker load < apps.tar.gz docker load -i xxx.gz
容器操作命令说明
运行镜像–详细
一个镜像可以运行多个容器,这条命令后可以执行一条命令,比如加bash命令,启动命令行
docker run --name redis -p 6379:6379 -dit redis bash
-d:表示后后台运行,后台运行可以不加参数i和t
–name:指定一个镜像名称
-p:指定启动端口,从容器的6379端口,映射到宿主机的6379端口,可以指定多个-p映射端口,例如rabbitmq需要映射15672和5672两个端口(windows访问该容器需要在VMware的Linux防火墙中打开端口)
docker run \ -it \ --name centos7 \ centos:7 \ bash
可以通过反斜杠使得命令更简单易读
执行命令后自动进入容器,执行命令即在容器内执行
-it参数必须要加,不然容器启动后,没有执行命令,应用结束,容器也就结束了(当执行exit之后容器也会结束)
加bash后直接进入容器,不加bash还在宿主机命令行,如果是docker运行环境是Linux的话,可以不加bash启动(可以参照history看有没有默认设置),保险起见,还是需要加的
退出的话执行exit即可
log日志输出
docker container logs xxx
查看容器
docker container ls -a # 一般写下面那个 docker ps -a
中止/重启容器
docker container stop 802 docker container restart 802
进入容器bash
这里可以用启动时候指定的容器名字启动,也可以用id
docker exec -it 802 bash
删除容器
在出现运行中的重名的容器的时候,则需要删除一个容器
docker container rm 802
如果容器正在运行,需要加-f参数强制删除容器
清理所有终止状态容易
docker container prune
一些问题
WARNING: IPv4 forwarding
一般是宿主机的网络环境出现变化,比如修改ip地址,重启虚拟机,或者开关防火墙等
通过systemctl重启docker的服务即可解决
sudo systemctl restart docker
- 一、Docker简单的使用命令
- Centos 7部署docker环境、基本命令使用及简单实战
- docker简单使用命令
- CloudFoundry中vmc命令使用简单说明
- docker 简单初级使用命令
- Docker简单的使用命令
- LXC命令简单使用说明
- docker 命令的简单使用
- docker使用简单命令
- docker简单使用命令
- 安装单docker 简单使用命令
- docker简单使用命令
- gzip 和gunzip 命令简单使用说明
- docker简单命令的使用
- Log4j日志管理系统简单使用说明
- Log4j日志管理系统简单使用说明
- Log4j日志管理系统简单使用说明
- Rome使用简单说明一(基本应用)
- Myeclipse的简单使用说明(转)
- Glade的简单使用说明+例子(一)