因为工作原因,最近在学习docker,写一下自己学习docker的一些心得。
docker安装
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
$ uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
7、安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.09.7
$ sudo yum install docker-ce-18.09.7.ce # 例如:sudo yum install docker-ce-18.09.7.ce
8、启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
docker使用
docker方便部署一些应用,通过在docker hub 可以找你想要部署的应用镜像。
你也可以在docker命令中查找你想要的镜像。
docker search redis #例如查找redis的命令
然后根据自己的需求,下载相应的镜像。
docker pull redis #下载redis官方镜像,默认是latest最新版本。
然后可以通过docker images来查看下载完成的docker镜像。
docker run --name redis -p 6379:6379 -v /data/docker_vm/redis:/data -d redis redis-server --appendonly yes --appendfsync everysec --no-appendfsync-on-rewrite yes --auto-aof-rewrite-percentage 100 --auto-aof-rewrite-min-size 64mb --stop-writes-on-bgsave-error yes --rdbcompression yes --rdbchecksum yes --dbfilename dump.rdb
#使用redis来举个例子,-v是把容器内部的目录映射到宿主机目录下,方便对配置文件进行改变。-p是把容器内部端口号映射到宿主机的端口上,--name是定义容器的名字。-d是后台运行容器,并返回容器ID;
如果不想使用当前镜像可以使用docker stop 容器ID, 来停止指定的容器。
docker start <CONTAINER ID> #启动容器。
docker stop <CONTAINER ID> #停止容器。
docker restart <CONTAINER ID> #重启容器。
docker rm <CONTAINER ID> #删除指定容器。
docker rmi <image id>#删除指定镜像
docker exec -it name /bin/bash #进入容器内部
docker cp file <CONTAINER name>:/dir/dir #把当前文件复制到docker容器指定目录里面里面。