Docker基础

#Docker使用文档

一、虚拟机Docker服务安装

1.1Linux(Ubuntu)

Ubuntu系统安装,要求系统内核版本高于3.10,内核版本查看uname -r

1.1.1获取最新版本的 Docker 安装包
#拉取安装包
wget -qO- https://get.docker.com/ | sh
#启动后台服务
sudo service docker start
#测试运行hello-world
docker run hello-world
1.1.2 配置镜像加速
#打开
/etc/docker/daemon.json

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

详细安装细节:官网安装教程

1.2Linux(Centos 7+)

1.2.1 卸载旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
1.2.2 使用存储库安装
#安装所需要的包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
# 设置存储库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
* 这里最好使用阿里云替换
 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum缓存
sudo yum makecache fast
#安装docekr-ce版本
sudo yum -y install docker-ce
#启动docker服务
sudo systemctl start docker
#验证
sudo docker run hello-world


#配置加速镜像
/etc/docker/daemon.json
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

详细安装细节:官网安装教程

注:win、mac安装参照官网,有图形化工具更易操作这里不一一介绍

二、镜像获取&容器的启动使用

前提:获取自己的镜像加速地址,在阿里云开发者平台("https://cr.console.aliyun.com/cn-hangzhou/mirrors"),注册账号,会得到自己的镜像加速地址,之后可以通阿里云的镜像操作管理镜像。

2.1镜像拉取

在安装完成docker服务后,需要哪些软件或者环境可以直接在docker hub上查询("https://hub.docker.com/"),拉取指定的版本。也可以使用阿里云提供镜像仓库("https://dev.aliyun.com/search.html")查询获取镜像。

2.1.1镜像常用命令
#镜像查询
docker search [images name]
#镜像获取
docker pull [images name]:[tag]
#镜像查询
docker images
#镜像删除 
docker rmi images[id&name]
#强制删除
docker rmi -f iamges[id& name]
#启动镜像
docker run [options] images
optipns 可变参数:
--name=“”:启动容器的名字
-d :后台启动,交互页面
-i :以交互式启动容器
-t :分配伪终端(一般-it是同时使用的)
-p :为容器指定端口映射
-P :随机分配端口
-v :路径映射
2.1.2容器常用命令
#查看正在运行中的容器
docker ps
#查看所有容器
docker ps -a
#查看上n次运行的容器
docker ps -n 
#停止容器
docker stop [containerID&name]
#启动容器
docker start [containerID&name]
#删除容器
docker rm [containerid]
#从容器内拷贝文件到宿主机
docker cp 容器ID:容器内路径下文件地址 宿主机路径文件夹
#从宿主机拷贝文件到容器中
docker cp 宿主机文件地址 容器ID:容器内路径文件夹

注意容器退出的方式:
①. exit 容器停止
②. ctrl+p+q 容器退出但不停止
进入运行中容器的方式:
①.attach 直接进入容器启动命令的终端,不会重新启动新的进程
②.exec 在容器中打开终端,并且可以启动新的进程  
2.1.3容器生成镜像

在完成自定义镜像后,方便后续直接使用,可以使用镜像生成的方式将其保存至阿里云镜像仓库(或者官方docker hub)。后续如果使用可以直接拉取,运行。

#镜像生成
docker commit [options] containerid 命名空间/创建的镜像名:[标签名]
options 可变参数:
-a :作者
-m :描述
#镜像查看
docker iamges 查看时候有自己提交的镜像

三、阿里云容器服务的使用

镜像生成完成后,可以提交到公共库中,方便共享与大家的使用。这里介绍的方法是通过阿里云的镜像仓库服务,理论同github使用相同。

3.1.1 镜像仓库创建

创建自己的仓库镜像仓库链接

创建完成后会有操作步骤的提示:

例子:
#登录阿里云Docker Registry
$ sudo docker login --username=fw19940314 registry.cn-hangzhou.aliyuncs.com
#将自己的本地镜像推送到镜像仓库中
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/shishudev/dev:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/shishudev/dev:[镜像版本号]
#拉取镜像
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/shishudev/dev:[镜像版本号]

四、服务器环境的搭建


javaweb开发环境:registry.cn-hangzhou.aliyuncs.com/shishudev/dev:1.1.1

最新版本1.1.1,镜像信息centos7内置jdk+tomcat
拉取完成后启动镜像,使配置生效:source /etc/profile

启动命令:docker run -it --name dev -p 8080:8080 -v 宿主机目录:容器目录--privilege = true imagesid

注:tomcat webapp挂载地址 /usr/local/tomcat/webapps,log 日志挂载地址/usr/local/tomcat/logs


mysql 开发环境

拉取docker pull mysql:5.6

运行及数据持久化docker run -p 3306:3306 --name mysql -v 宿主机配置文件地址:/etc/mysql/conf.d -v 宿主机log文件地址:/logs -v 宿主机data地址:/var/lib/mysql --character-set-server=utf8 --collation-server=utf8_general_ci -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6

交互 docker exec -it containerid /bin/bash

数据备份docker exec containerid sh -c ' exec mysqldump --all-databases -uroot -p"root" > /宿主机地址/xxx.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值