2. Docker安装启动

2.1运行安装环境
采用Linux操作系统,版本为:Centos7.0 64位
Docker采用CE版:18.06.0.ce-3
2.2 Docker安装过程
2.2.1 下载Docker-CE rpm安装包

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

注意下载版本要和操作系统版本对应。

docker-ce-18.06.2.ce-3.el7.x86_64.rpm

2.2.2 安装Docker
上传 docker-ce-18.06.2.ce-3.el7.x86_64.rpm 到opt
执行命令:yum install -y docker-ce-18.06.2.ce-3.el7.x86_64.rpm
注意:确保linux服务器处于联网状态。
2.2.3 启动与停止Docker

启动docker:systemctl start docke
r 停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker

2.2.4 验证Docker是否安装成功
执行命令:docker info
查看返回信息,能否查看到Docker相关信息
到此,Docker安装完毕!

3. Docker配置镜像加速器

国内访问Docker Hub的速度很不稳定,有时甚至出现连接不上的情况。我们来为Docker配置镜像加速器,从而解决这个问题。目前国内很多云服务商都提供了镜像加速的服务。

常用的镜像加速器有:阿里云加速器DaoCloud加速器等。各厂商镜像加速器的使用方式大致类似,笔者以阿里云加速器为例进行讲解。

注册阿里云账号后,即可在阿里云控制台(https://cr.console.aliyun.com/#/accelerator)看到类似如下的页面。

docker 安装dtm 安装docker-ce_容器


3.1新建编辑:

/etc/docker/daemon.json

{ “registry-mirrors”: [“https://ksc53x4t.mirror.aliyuncs.com”] }

3.2修改保存后输入如下命令重启Docker守护进程和服务
重启docker守护程序

systemctl daemon-reload

重启docker服务

systemctl restart docker

查看docker容器信息

docker info

查看最后倒数第二行出现如下内容说明配置成功

Registry Mirrors: https://j4pan1gm.mirror.aliyuncs.com/

4.Docker镜像操作的常用指令

4.1搜索指令
4.1.1 通过镜像仓库搜索

Docker镜像仓库网址:https://hub.docker.com/search?q=&type=image

4.1.2 指令搜索

docker search tomcat

//搜索tomcat镜像
4.2下载镜像

docker pull

镜像名称 //查询最近的版本

docker pull

镜像名称:版本标签
如:

docker pull tomcat
docker pull tomcat:8.5.57-jdk8-openjdk-slim

4.3查看本地镜像

docker images

4.4删除镜像

docker rmi tomcat:8.5.57-jdk8-openjdk-slim

//通过镜像名:版本号

docker rmi b1a27cee0cec

//通过IMAGE ID删除

4.5保存镜像为文件

docker save -o /root/tomcat.tar tomcat:8.5.57-jdk8-openjdk-slim

4.6把保存的镜像备份文件恢复成镜像

docker load -i /root/tomcat.tar

5.Docker容器操作常用指令

5.1使用镜像新建一个容器
docker run
(1)、创建并运行一个java容器,打印helloworld!

docker run java:8 /bin/echo ‘Hello World!’

(2)、创建一个Centos容器

docker run -dti --name=c1 centos:centos7 /bin/bash

-d 表示守护式容器(用户退出容器后,容器依然可以正常运行)
-i 运行容器
-t 交互 后面跟交互shell脚本 /bin/bash
centos:centos7 镜像名称
(3)、创建一个有网络使用容器
如:创建一个容器nginx 端口为 80
docker run -di --name=n1 -p 88:80 nginx:latest
-p 端口映射 宿主机端口:容器端口
5.2 列出容器
(1)、列出当前正在运行的容器 docker ps
(2)、列出当前全部容器 docker ps -a
(3)、列出当前容器的所有编号 docker ps -a -q
5.3、停止容器
docker stop 容器的names
docker stop 容器的CONTAINER ID
如:
docker stop c1
docker stop 36bee7ca1cf4
5.4、启动容器
docker start 容器名称或容器编号
docker start n1
5.5、强制停止容器
docker kill 容器名称或容器编号
5.6、重启容器
docker restart 容器名称或者容器编号
5.7、如何进入到容器
docker exec -it c1 /bin/bash
5.8、退出容器
exit
5.9、从宿主机拷贝文件到 容器
在宿主机上创建文件并编辑

touch java511.txt

vi java511.txt

拷贝到容器中

docker cp /java511.txt c1:/root/

5.10、从容器拷贝文件会宿主机

docker cp c1:/1.java /root/2.java

5.11、挂载宿主机的制定目录到容器 (其中 --privileged 是可选的,)
(如果你共享的是多级的目录,可能会出现权限不足的提示。这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题)

docker run -di --name=c2 -v /root/html:/test0722 --privileged
centos:centos7

5.12、删除容器
docker rm 容器名称或者编号 //注意 不能删除正在运行中容器, 需要停掉才可以删除
5.13、导入、导出容器
(1)、导出容器为备份文件

docker export --output=“/root/c2.tar” c2

(2) 、 导入备份容器文件我镜像

docker import nginx

docker import /root/c2.tar ccc

//注意: 一般情况下不要从容器去恢复成镜像(因为容易出现问题)
5.14、查看容器ip

docker inspect n1

//输出的内容较多

docker inspect --format=‘{{.NetworkSettings.IPAddress}}’ n1

//只输出ip
5.15、查看容器日志输出

docker logs n1

查看日志

docker logs --tail=“2” n1

查看日志 左后2行。