Docker入门初体验
# 一、简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
# 二、安装
如需安装 Docker CE,您需要 64 位版本的 CentOS 7
卸载旧版本 Docker 的早期版本称为 docker 或 docker-engine。如果安装了这些版本,请卸载它们及关联的依赖资源。
$ sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine
1
2
3
4
2
3
4
更新yum到最新
sudo yum update
1
安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
1
设置镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
更新 yum 软件包索引。
sudo yum makecache fast
1
安装最新版本的 Docker CE,或者转至下一步以安装特定版本。
sudo yum install docker-ce
1
查看版本、信息
docker -v
docker info
1
2
2
启动、停止、重启,开启自启docker
systemctl start/stop/restart/enable docker
1
# 三、常用指令
# 1.镜像相关
# 1.1查看镜像
docker images
1
# 1.2.删除镜像
docker rmi 镜像名字或者id
docker rmi `docker images -q` //删除所有
1
2
2
# 1.3.搜搜镜像
docker search 镜像名字
1
# 1.4.拉取镜像
docker pull 镜像名字
1
# 2.容器相关
# 2.1.查看容器
查看所有,运行+没运行的
docker ps //正在运行的容器
docker ps -a //全部容器
docker ps -l //最后一次运行的容器
docker ps -f status=exited //查看停止的容器
1
2
3
4
2
3
4
# 2.2.创建容器
参数 | 作用 |
---|---|
-i | 表示运行容器 |
-t | 表示启动后进入其命令行。加入这个参数后,肉哦容器创建就能进入一个伪终端 |
--name | 容器名字 |
-v | 目录映射,‘:’分割前面是宿主目录,后者是容器目录,可以多个-v创建多个映射目录 |
-d | 守护式创建容器,即创建后不会进去命令行 |
-p | 端口映射,‘:’分割,前者是主机端口,后者是容器端口 |
1.交互式方式创建容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
exit //退出容器
1
2
2
2.守护式方式创建容器
docker run -di --name=容器名称 镜像名称:标签
docker exec -it 容器名称(或者id) /bin/bash
1
2
2
3.停止启动容器
docker stop 容器名称(或者id)
docker start 容器名称(或者id)
1
2
2
4.主机与容器文件互相拷贝
docker cp 主机目录 容器名称:容器目录 //主机到容器
docker cp 容器名称:容器目录 主机目录 //容器到主机
1
2
2
5.目录挂载
docker run -di -v 主机目录:容器目录 --name=容器名称 镜像名称
1
6.查看容器信息、ip
docker inspect 容器名称(id)
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(id)
1
2
2
7.删除容器
docker rm 容器名称(id)
1
# 四、搭建环境
# 1.mysql
docker run -di --name=con_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123 centos/mysql-57-centos7
1
# 2.tomcat
run -di --name=tomcat7 -p 8888:8080 -v /usr/local/webapps:/usr/local/webapps tomcat:7-jre7
1
# 3.tomcat
docker run -di --name=mynginx -p 8889:80 nginx
1
# 4.redis
docker run -di --name=myredis -p 16379:6379 redis
1
# 四、保存备份
# 4.1 容器保存为镜像
docker commit 容器名字 镜像名字
1
# 4.2 镜像备份
docker save -o 名字.tar 镜像名字
1
# 4.3镜像恢复
docker load -i 镜像名字.tar
1
# 五、Dockerfile
# 5.1常用指令
命令 | 容器 |
---|---|
FROM image_name:tag | 定义了从哪个镜像启动构建流程 |
MAINTAINER username | 声明创作者 |
ENV key value | 定义环境变量,可以多条 |
RUN cmd | 核心部分,可以写多条 |
ADD 宿主目录文件 容器目录文件 | 重宿主机添加文件到容器,会自动解压 |
COPY 宿主目录文件 容器目录文件 | 重宿主机添加文件到容器,不解压 |
WORKDIR 容器目录 | 工作目录 |
# 5.2 例子
FROM centos:7
MAINTAINER Uncle
WORKDIR /usr
RUN mkdir /usr/local
ADD jdk1.8.tar.gz /usr/local
ENV PATH /usr/local/jdk1.8/bin:$PATH
1
2
3
4
5
6
2
3
4
5
6
# 5.3 构建
docker build -t='镜像名称' Dockerfile所在目录
1
在 GitHub 编辑此页 (opens new window)
上次更新: 2024/02/25, 12:11:11