Docker是一个开源的应用容器引擎,将应用及应用环境打包到这个可移植的容器中,然后发布到各个服务器中,或实现虚拟化。容器完全使用沙箱机制,相互之间没有任何接口。
本文讲述在CentOS7中如何安装Docker,以及镜像和容器的基本管理。
部署docker
检测当前安装的docker版本:
rpm -qa docker-ce
如果版本过旧则卸载旧版本,否则跳过。
yum -y remove docker docker-common docker-selinux docker-engine # 如果在安装新版本时报错,则有可能是残留,参照以下命令擦除 # yum erase docker-common-*
设置yum源
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker
# 列出yum源的包含的版本 yum list docker-ce --showduplicates | sort -r # 默认安装最新版本 yum -y install docker-ce # 启动docker systemctl start docker; systemctl enable docker
管理镜像IMAGE
查询镜像列表:
docker search <Image_Name> # docker search mysql
拉取docker镜像,以下是标准命令格式:
docker pull [OPTIONS] <Image_Name>[:TAG|@DIGEST]
选项, 简写 | 默认值 | 说明 |
–all-tags , -a | 从镜像库拉取所有tag标签名的镜像 | |
–disable-content-trust | true | 忽略镜像校验 |
拉取镜像及实例:
# 默认从 Docker Hub 拉取 docker pull <Image_name> # 拉取所有镜像 docker pull -a # 拉取mysql docker pull mysql # 通过标签拉取java docker pull java:8 # 拉取多个镜像 docker pull -a redis # 从注册中心/私有仓库拉取镜像 docker pull localregistry.10.10.200.101:8088/source/java
管理本地镜像及实例:
# 查看已拉取的镜像 docker images # 给源镜像创建tag docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] # 删除指定镜像 docker rmi <Image_ID> # 删除untagged镜像 docker rmi $(docker images | grep "^<none>" | awk "{print $3}") # 删除全部镜像 docker rmi $(docker images -q) # 给Name引用的镜像加标签 docker tag java java:byname # 给ID引用的镜像加标签 docker tag d23bdf5b1b1b java:byid # 给Name和Tag引用的镜像加标签 docker tag java:8-jdk java:bynameandid # 上传镜像到私有仓库 docker tag java:8 localregistry.10.10.200.101/library/java:8-local
运行镜像的基本命令:
docker run [OPTIONS] <imageID> [COMMAND] [ARG...] # docker run -d -i -t <imageID> /bin/bash # docker run -d -i -t <imageID> /usr/sbin/init
管理容器CONTAINER
日常管理:
# 启用容器 docker start <CONTAINER_ID> # 重启容器 docker restart <CONTAINER_ID> # 停止容器 docker stop <CONTAINER_ID> # 停止所有容器 docker stop $(docker ps -a -q) # 删除容器 docker rm <CONTAINER_ID> # 删除所有容器 docker rm $(docker ps -a -q)
列出容器:
# 查看正在运行的容器 docker ps # 查看所有容器 docker ps -a # 查看最后一次启动的容器 docker ps -l # 在一行列出正在运行的容器 docker ps | less -S
进入指定容器:
docker exec -it <CONTAINER_ID|NAME> /bin/sh # 以下方式在退出容器时,容器会终止运行,视情况使用 # docker attach <CONTAINER_ID|NAME>
查看容量状态:
# 查看指定容器的日志 docker logs [-f ]<CONTAINER_ID|NAME> # 显示正在运行的容器里面的进程信息 docker top <CONTAINER_ID|NAME> # 查看容器详情 docker inspect <CONTAINER_ID|NAME>
扩展管理:
# 在容器中安装应用(Ubuntu) docker run apt-get -y install # 将做好的容器提交镜像 docker commit
原创文章禁止转载:技术学堂 » Linux部署Docker容器及常用管理命令