Docker学习:Docker安装和基本使用
2019-05-20 16:46
68 查看
原文链接:http://www.cnblogs.com/LOVEYU/p/10894982.html
Docker
Docek是一种容器技术。容器是一种轻量级、可移植、自打包的软件技术,使应用程序可以在几乎任何地方以相同的方式运行。
使用者可以在笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。
Docker安装
安装docker会用到一下命令
//更新apt-get apt-get update //安装docker apt-get install docker.io //配置加速器 tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://mirror.ccs.tencentyun.com", "https://ytji6dx6.mirror.aliyuncs.com" ] } EOF //重启daemon systemctl daemon-reload //重启docker systemctl restart docker
安装截图如下
第一步:更新apt-get命令
第二步:安装docker
第三步:配置加速器
第四步:重启daemon和Docker
Docker基本使用
docker运行
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
说明:
docker run:docker从镜像启动一个容器命令
--name:这是docker run命令的参数,给要启动的容器起个名字
-p:端口映射,前面的是宿主端口号,后面的是容器端口号
-v:挂载宿主机目录到镜容器里,前面的是宿主机目录,后面的是容器目录,那么后面的目录为什么是/var/lib/mysql呢?执行
docker inspect -f {{.Config.Volumes}} bob-mysql就可以看到了
-e——指的是环境变量,在启动MySQL镜像时,可以传入一个或多个环境变量修改MySQL实例的配置。这里一定要注意的是启动容器的数据目录已经包含了数据库,这时环境变量就不起作用了。
MySQL镜像支持一下环境变量
MYSQL_ROOT_PASSWORD—— 设置MySQL root用户的密码MYSQL_DATABASE—— 指定在镜像启动时创建的数据库名称,如果同时指定了MYSQL_USER,MYSQL_PASSWORD,则会授予该用户对这个数据库ALL的权限(GRANT ALL)MYSQL_USER,MYSQL_PASSWORD—— 创建一个用户并设置它的密码MYSQL_ALLOW_EMPTY_PASSWORD—— 设置为yes允许容器启动时root用户密码留空MYSQL_RANDOM_ROOT_PASSWORD—— 为root用户生成随机密码(使用pwgen)MYSQL_ONETIME_PASSWORD—— 设置root用户初始化完后过期,强制登录时修改密码。注意这个功能只支持MySQL 5.6+
查看镜像版本
docker version
镜像下载
docker pull mysql:5.6
说明:
- 这里
mysql:5.6
是镜像名称和版本号,若是不确定版本,可以使用docker pull mysql
则直接下载最新的版本
查询镜像
docker image ls
删除镜像
docker rmi mysql
查看运行的容器
docker ps
说明:
docker ps -a:显示所有的容器
docker ps:显示运行的容器
更多命令使用方法
docker ps --help
进入容器
docker exec -it id /bin/bash
查看容器日志
# 退出容器 docker logs -f id
容器停止/启动
docker stop/start id
删除容器
docker rm 容器id
仓库登录
docker login
镜像构建
# 使用Dockerfile创建名为 yucy/mysql的镜像 docker build --rm=true -t yucy/mysql
镜像打tag
# 将镜像ubuntu:16.04标记为 yucy/ubuntu:V1 镜像 docker tag ubuntu:16.04 yucy/ubuntu:V1
镜像推送
docker push 注册用户名/镜像名
安装问题解决
第一次安装virtualbox的时候,没有设置虚拟电脑的保存路径,导致C盘爆满,具体可参考Docker学习:virtualbox安装和配置,下面是另外一个很纠结的问题,直到今天才解决!!!
第一次使用
docker pull mysql时,一直提示
no matching manifest for unknown in the manifest list entries在网上查找了很多资料,有解决方法是windows上配置
daemon.json中增加配置
"experimental": true,可是本机是linux虚拟机,在json文件中增加了这个配置选项,再次
pull镜像仍是出错。
后来反复查看虚拟机ios文件和
docker的安装要求,发现是虚拟机的版本问题,重新安装ubuntu-16.04.6-server-amd64的虚拟机,问题圆满解决🌛。出现这个文件主要是因为虚拟机安装时的版本选择的是64位的,可是加载的iso文件却是32位的,所以出现了上面的问题。
参考:
转载于:https://www.cnblogs.com/LOVEYU/p/10894982.html
相关文章推荐
- docker学习-安装及基本命令使用
- 1.docker学习笔记:docker的安装和基本使用
- 9、数据库初学习,基本安装以及配置、使用方法
- linux学习使用总结-linux系统的安装和与windows双系统共享,linux常用的基本命令,今天贴在这里和大家分享
- Docker学习二:Docker基本概念以及安装卸载
- Docker学习系列(三):Ubuntu下使用Docker的基本指令记录及一些注意事项
- Docker学习之Tomcat容器的安装使用
- tensorflow学习笔记之(一)—— 安装和基本使用
- 使用CentOS7 快速安装Docker学习使用环境
- ubuntu16.04安装最新版docker、docker-compose、docker-machine及docker的基本使用
- Docker 学习记录(一)-docker安装使用
- memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
- Docker环境安装以及基本使用
- 教程|使用 Docker 安装深度学习环境
- Docker学习记录-Docker安装与使用
- docker安装与基本语法使用
- Linux学习笔记(14)linux在6.x和7.x系列的安装与基本使用区别
- centos7.2docker安装与基本使用
- Eclipse学习之一:Eclipse安装与基本使用
- Docker安装及基本使用方法