> 文章列表 > Docker安装和常用镜像容器数据卷命令

Docker安装和常用镜像容器数据卷命令

Docker安装和常用镜像容器数据卷命令

Docker安装和常用镜像容器数据卷命令

docker 安装

  1. yum包更新到最新

yum update

  1. 卸载旧版本的docker

yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

  1. 安装需要的软件包

yum install -y yum-utils

  1. 设置镜像

yum-config-manager \\ --add-repo \\ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 阿里云镜像

  1. 更新索引

# 更新yum软件包索引 yum makecache fast

yum makecache fast

  1. 安装docker社区版

安装Docker, docker-ce 社区版 ee 企业版

yum install docker-ce docker-ce-cli containerd.io

yum install -y docker-ce

安装docker出现的页面都按y

  1. 启动docker

systemctl start docker

  1. 查看安装后的docker版本

docker version

  1. 运行dokcer的hello world程序判断是否安装成功

docker run hello-world

Docker安装和常用镜像容器数据卷命令

dokcer卸载

卸载依赖

yum remove docker-ce docker-ce-cli containerd.io

删除资源

rm -rf /var/lib/docker

/var/lib/docker docker的默认工作路径!

docker命令

docker服务命令

systemctl命令

systemctl start xinetd --启动服务

systemctl status xinetd --查看服务状态

systemctl stop xinetd --停止服务

systemctl restart xinetd --重启服务

systemctl list-unit-files --列出所有可用单元

systemctl mask firewalld --注销服务

使用systemctl命令操作docker启动

systemctl start docker --启动docker

systemctl status docker --查看docker的服务状态 --active表示激活

Docker安装和常用镜像容器数据卷命令

systemctl stop docker --停止dokcer服务

配置开机启动docker

systemctl enable docker

docker镜像命令

docker镜像命令主要学习四个基本的操作

  • 查看镜像
  • 搜索镜像、
  • 拉取镜像
  • 删除镜像

查看镜像

查看docker本地拥有的镜像

docker images --查看本地镜像

[root@localhost /]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   18 months ago   13.3kB
[root@localhost /]# 

TAG:版本号(默认最新版本)

REPOSITORY:镜像名称

IMAGE ID :镜像id

搜索镜像

搜索远程仓库–docker hub中是否拥有该镜像

docker search redis

Docker安装和常用镜像容器数据卷命令

拉取镜像

拉取镜像可以指定版本号 在后面加 :版本号如果不指定默认下载最新版本

docker pull redis

下载官方的版本时可以在docker hub网站查看官方维护的指定版本

删除镜像

删除镜像使用rmi命令后面加上镜像的id

也可以使用容器和版本的来删除重复的镜像

docker rmi 31f08b90668e

docker rmi redis: latest

[root@localhost /]# docker rmi redis:latest
Untagged: redis:latest
Untagged: redis@sha256:7b83a0167532d4320a87246a815a134e19e31504d85e8e55f0bb5bb9edf70448
Deleted: sha256:31f08b90668e9730067b53acbd28e536dadb25c746f4379a8a83c84fb1c48d1a
Deleted: sha256:98943fc66a49804e9bf8a28fc0b6f62bcaf6b696be1218a0927db4e33400cd09
Deleted: sha256:ad80a8514c506371262d5e587cb61186cfd702a201c95d6be2f30e5a57d83f4a
Deleted: sha256:bd9f9ef600ac5962f43837a51f529ba06ae9e3098cdac16a2716605b8228990b
Deleted: sha256:59b8469f7cc3da8a15213bd147d7f93e0d7935a8cd2ba61717a6b3eb39944847
Deleted: sha256:d1457881cdd269d73482e45a189379c82f91bd28d6506981a31ab98f33a3374f
Deleted: sha256:3af14c9a24c941c626553628cf1942dcd94d40729777f2fcfbcd3b8a3dfccdd6
[root@localhost /]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   18 months ago   13.3kB

docker容器相关命令

一个dokcer容器中可以包括多个镜像,一个docker中可以有多个容器

  • 查看容器
  • 创建容器
  • 进入容器
  • 启动容器
  • 停止容器
  • 删除容器
  • 查看容器信息

创建容器

创建容器使用的命令时docker run命令

后面需要跟一些参数 -i长时间运行 -t容器创建分配终端 连起来-it

–name 名字

centos:7 后面加上根据那个镜像来创建容器

最后后面可以跟进入容器初始化的命令 /bin/bash

完整命令:docker run -it --name c1 centos:7 /bin/bash

[root@localhost /]# docker run -it --name c1 centos:7 /bin/bash
[root@0fa36ee45766 /]#  --进入@0fa36ee45766容器的内部

进入容器之后退出容器exit命令

[root@0fa36ee45766 /]# exit
exit
[root@localhost /]#

第二种创建方式 -d(后台运行创建 exit后不会停止运行)

创建容器之后不会立即进入容器

docker run -id --name c2 centos:7

[root@localhost /]# docker run -id --name c2 centos:7 /bin/bash
a9586f84cdb0b9c9038fc7b6a5fff582ed0e7229d1c327f1ae48ae753a1af1e3
[root@localhost /]# docker ps
CONTAINER ID   IMAGE      COMMAND       CREATED          STATUS          PORTS     NAMES
a9586f84cdb0   centos:7   "/bin/bash"   17 seconds ago   Up 15 seconds             c2
[root@localhost /]# 

创建之后的容器c2处于运行态-it交互容器 -id守护容器

查看容器

通过-it创建的容器使用exit命令之后自动停止运行该容器

docker ps --查看正在运行的容器

Docker安装和常用镜像容器数据卷命令

docker ps -a查看所有容器

进入容器

docker exec 命令 --进入容器中

进入容器的过程中要创建终端

[root@localhost /]# docker exec -i c2 /bin/bashexit
[root@localhost /]# docker exec -it c2 /bin/bash
[root@a9586f84cdb0 /]# 

docker exec -it c2 /bin/bash

启动容器

Docker安装和常用镜像容器数据卷命令

启动关闭的c1容器

docker start c1

关闭容器

在启动c1容器的同时关闭

docker stop c2

删除容器

docker rm命令删除容器 后面可以加容器的id 或者 容器的名字

开启的容器是不能被删除的

查看容器信息

使用docker inspect+容器名称 命令查看容器信息

容器的数据卷

定义:数据卷是宿主机的一个目录或文件

当容器目录和数据卷目录绑定之后,对方的修改会立即同步

一个数据卷可以被多个容器同时挂载

一个容器也可以挂载多个数据卷

配置数据卷

  • 启动容器时,使用-v参数设置数据卷

    docker run …-v 宿主机目录(文件):容器内目录(文件)

将宿主机上的目录和容器目录进行挂载

注意事项:

  1. 目录必须是绝对目录
  2. 目录不存在自动创建
  3. 可以挂载多个数据卷
docker run -it --name=c3 -v /root/chenruxu:/root/chenruxu_container centos:7 /bin/bash

[root@bc530ed55ef4 /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@bc530ed55ef4 /]# cd /
[root@bc530ed55ef4 /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@bc530ed55ef4 /]# cd ~
[root@bc530ed55ef4 ~]# ls
anaconda-ks.cfg chenruxu_container

Docker安装和常用镜像容器数据卷命令

两个数据文件里面的内容同步删除容器后宿主机目录不变 数据卷可以挂载到多个容器中去

如果一个数据卷挂载到多个容器中,一个容器改变数据卷,两个容器同步改变----间接的实现容器之间的通信

数据卷容器

多容器进行数据交换

  • 多个容器挂载同一个数据卷
  • 数据卷容器

在两个容器的基础上创建第三个容器,其中第三个容器挂载一个数据卷,前两个容器与第三个容器之间相互关联。

将第三个容器称为数据卷容器

配置数据卷容器

  1. 创建启动c3数据卷容器。使用-v/volume 参数设置数据卷
docker run -it --name=c3 -v/volume centos:7 /bin/bash

系统自动分配一个目录作为数据卷

  1. 启动c1 c2容器,使用–volumes-from 容器名 参数来设置数据卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash

Docker安装和常用镜像容器数据卷命令