系统centos7.4

安装

yum安装默认最新版本:

#yum -y install yum-utils

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# yum install docker-ce -y

启动及加入开机自启

# systemctl start docker

# systemctl enable docker

查看docker版本:

# docker info   #包含很多信息

查看docker日志:

# journalctl -u docker.service

按历史版本安装:

# yum -y install yum-utils

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

查看历史版本信息

# yum list docker-ce --showduplicates|grep "^doc"|sort -r

docker-ce.x86_64            3:18.09.3-3.el7                    @docker-ce-stable

docker-ce.x86_64            3:18.09.2-3.el7                    docker-ce-stable

docker-ce.x86_64            3:18.09.1-3.el7                    docker-ce-stable

docker-ce.x86_64            3:18.09.0-3.el7                    docker-ce-stable

docker-ce.x86_64            18.06.3.ce-3.el7                  docker-ce-stable

.........

# yum -y install docker-ce-18.09.3

官网连接

Redirecting…

docker安装多个版本青龙 docker安装指定版本_bc

https://docs.docker.com/install/linux/docker-ce/centos/

更改docker存储目录

centos7下

修改docker.service文件,使用-g参数指定存储位置

# vi /usr/lib/systemd/system/docker.service  

ExecStart=/usr/bin/dockerd --graph /new-path/docker 

 // reload配置文件 

systemctl daemon-reload 

 // 重启docker 

systemctl restart docker.service

如果docker是1.12或以上的版本,可以修改(或新建)daemon.json文件。修改后会立即生效,不需重启docker服务。

vim /etc/docker/daemon.json 

{"registry-mirrors": ["http://7e61f7f9.m.daocloud.io"],"graph": "/new-path/docker"}

docker使用(未分类,按日常操作顺序编写):

下载镜像:

# docker pull 镜像名称:版本号

搜索镜像:

# docker search mysql

查看镜像:

# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

aaa-1.0.14  latest              933aba596758        9 days ago          1.37GB

aaa-1.0.13  latest              0162e0234d44        3 weeks ago        1.37GB

创建并启动容器:

模拟aaa-1.0.14镜像中是一个java程序,程序启动生成端口8081,程序日志存放在容器中的/tmp/logs下,需要把端口和日志放到宿主机上。

# docker run \

-p 8081:8081 \                                            #端口映射 宿主机端口/容器内端口

-m 4g \                                                        #允许最大使用内存4G,如果不配置swap限制,默认1024M

--name abc \                                               #启动后的容器名称

-d \                                                              #后台运行

--restart=on-failure:10 \                              #容器意外停止后自动尝试重启十次

--restart=always                                         #容器开机自启

-v /tmp/logs/abc-log/:/tmp/logs/ \               #挂载目录 本地目录:容器目录(挂载后同步目录内容到本地)

abc-1.0.14                                                 #镜像名称

查看容器:

# docker ps    #查看运行中的容器

# docker ps -a #查看所有容器,包括未运行的

# docker logs abc  #查看容器名为abc的容器日志docker logs -f abc跟踪查看

# docker inspect abc  #查看容器信息

进入容器:

# docker exec -it abc bash

上传文件到容器:

# docker cp filename.tar.gz abc:/tmp  #将filename.tar.gz文件上传到容器abc的tmp目录下

保存更改后的容器:

如果容器内发生变化,重启容器会自动消失,所以有时候在镜像内容无法满足我们需要做一些变更后保存下来,就需要以下操作

# docker commit -m "自定义内容" -a "作者信息" aaa bbb:1.1.1   将容器aaa制作成镜像bbb:1.1.1 ,通过docker images可以看到

停止容器:

# docker stop abc

启动容器:

# docker start abc

重启容器:

# docker restart abc

删除容器:

# docker rm abc  ###需容器停止后才能删除容器

删除镜像:

# docker rmi aaa-1.0.14

存出镜像:

将镜像打包成压缩文件方便移动

# docker save -o 压缩包名称   镜像名称

载入镜像

# docker load --input 压缩包名称

或者

# docker load < 压缩包名称

导出容器:

无论容器是否处于正在运行均可以导出

# docker export -o 压缩包名称  容器名称

导入容器:

# docker import 压缩包名称 导入后的容器名称

下载自己想要的镜像

登录 :docker login 后面无需跟地址

登录到下面的地址进行注册,然后使用用户名和密码登录 docker login  ,注意不能使用email登录。

Docker Hub