Docker快速入门

序言

Docker解决的问题

1.运行环境不一致导致的问题

2.隔离

3.弹性伸缩

CentOS7安装Docker

1.安装CentOS7.x系统

2.安装docker

yum install docker

3.启动docker服务

systemctl start docker.service

4.配置开机启动并验证

systemctl enable docker.service

验证:查看docker版本信息 

docker version

5.配置docker加速器 => 原因你懂得,不设置慢死你,云服务器除外

vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://d8b3zdiw.mirror.aliyuncs.com"]
} 

然后重启docker服务

systemctl daemon-reload
systemctl restart docker

6.Hello World

docker run hello-world

常用命令

查看

docker images
docker images redis

搜索

docker search redis

拉取

docker pull 

删除镜像

docker rmi  镜像ID

删除容器

docker rm xxx   删除已经停止的容器xxx
docker rm -f  xxx 可以删除正在运行的容器xxx
docker rm -f ${docker pa -a -q}  删除所有的容器

查看正在运行的容器

docker ps -a

查看所有容器

docker ps -a

启动

docker start ID

停止

docker stop ID

文件拷贝

docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
docker exec -it 775c7c9ee1e1 /bin/bash  进入一个已经在运行的容器 

目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。

创建容器 添加-v参数 后边为   宿主机目录:容器目录

docker run -di -v /usr/local/helloworld:/use/local/helloworld --name=mycentos1 centos:7 --privileged=true

看容器 IP 地址

docker inspect NAMES
docker inspect --format='{{.NetworkSettings.IPAddress}}' 5ac68dd7d20a

删除容器

docker rm ID

交互式容器

守护式容器

创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):

docker run -di --name=mycentos2 centos:7

登录守护式容器

docker exec -it mycentos2 /bin/bash

Docker 退出容器不停止容器运行

通常我们使用Ctrl+C退出正在执行的操作

docker容器中使用Ctrl+D即可退出容器,但是这样会让容器停止运行。

如果想退出容器但又不想让容器停止,使用Ctrl+P+Q即可

部署

mysql部署

docker pull mysql:5.7
//用户默认是root,密码默认是root的密码
docker run -di --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker exec -it mysql bash
mysql -u root -p

tomcat部署

nginx部署

Redis部署

下载镜像

docker pull redis

创建容器

docker run -di --name=myredis -p 6379:6379 redis

查看Redis版本

docker exec -it myredis redis-server -v

重启Redis

docker restart myredis

迁移与备份

容器保存为镜像

docker commit pyg_nginx mynginx

pyg_nginx是容器名称

mynginx是新的镜像名称

此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

镜像备份

docker  save -o mynginx.tar mynginx

-o 输出到的文件

执行后,运行ls命令即可看到打成的tar包

镜像恢复与迁移

首先我们先删除掉mynginx镜像

然后执行此命令进行恢复

docker load -i mynginx.tar

-i 输入的文件

执行后再次查看镜像,可以看到镜像已经恢复

无目录挂载-容器保存为镜像

有目录挂载情况(难点)

Dockerfile

Docker私有仓库的搭建与配置

资料

 https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html

原文地址:https://www.cnblogs.com/cnki/p/8267711.html