Docker入门


安装Docker

linux内核升级

yum update -y

yum install docker -io lxc libcgroup* device-mapp* -y

安装第三方扩展源

//安装第三方扩展源

yum install epel-release -y

//查看是否成功安装扩展源

ll /etc/yum.repos.d/|grep -w epel

安装docker软件包

yun install docker -y

yum list docker

rpm - qa|grep docker

systemctl start docker.service

#查看Docker进程

ps -ef|grep docker

#查看Docker版本信息

docker version

1.安装centos7
使用阿里云镜像

https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/

使用VMware11.0安装centos7
1.设置网络为桥接模式,重启网络设置service network restart

2.查看ip地址:ip addr
3.查看Centos版本:使用uname -r (linux内核版本高于3.10)
4.升级软件包及内核(小于3.10需要该操作):yum update
5.安装docker命令:yum install docker
6.启动docker命令:systemctl start docker
7.将docker服务设为开机启动:systemctl enable docker
8.查看docker版本: docker -v

>设置开机启动:systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

检索操作:docker search 关键字
拉取信息:docker pull 镜像名:tag(tag可选择,多为软件的版本,默认最新版本)
列表:docker images
删除 :docker rmi inage-id(删除指定版本的镜像)

搭建环境:
安装mysql:
docker search mysql;
docker pull mysql:latest
错误的启动mysql:
docker run –name mysql01 -d mysql
启动的mysql不能够使用,查看错误日志使用命令docker logs mysql镜像的id
正确启动mysql的命令:docker run –name mysql01 -e MYSQL_ROOT_PASSWORD=root23 -d mysql
以上命令在容器中启动不能被外网访问,需要做端口映射。

重启docker

docker server restart

安装nginx镜像

docker pull docker.io/nginx

查看docker镜像

docker images

docker images|grep -i nginx

运行nginx(使用ip+80端口进行访问)

docker run -itd -p 80:80 docker.io/nginx

部署redis:

1.搜索redis镜像

docker search redis

2.拉取redis镜像

docker pull redis:5.0

3.创建容器

docker run -id –name=C_redis -p 6379:6379 redis:5.0

4.使用外部机器连续redis

./redis-cli.exe -h ip(localhost) -p 6379

Docker镜像原理

操作系统组成有:

进程调度子系统、进程通信子系统、内存管理子系统、设备管理子系统、文件管理子系统、网络管理子系统、作业控制子系统

linux文件系统由boot和rootfs两部分组成

bootfs:包含bootloader(引导加载程序)和kernel内核

rootfs:root文件系统,包含的就是典型的linux系统中的/dev、/proc、/bin、/etc等标准目录和文件

docker制作镜像:

1.容器转为镜像:

docker commit 容器id 镜像名称:版本号

将镜像转为压缩文件,可以用于传输

docker save -o 镜像的压缩文件 镜像名称:版本号

恢复镜像:

docker load -i 镜像的压缩文件

2.fockerfile将容器转为镜像

docker build -f 自定义的dockerfile -t app

dockerfile发布springboot项目

1.定义父镜像

From java:8

2.定义作者信息:

MAINTAINER itxing itxingzai@163.com

3.添加jar

ADD 项目jar包 app.jar

4.启动jar

CMDjava -jar app.jar

5.docker启动自定义容器并且端口映射

docker run -id -p 9000:8080 自定义的项目名app

Docker Compose

1.安装Docker Compose

curl -l https://github.com/docker/compose/release/doenload/1.22.0/docker-compose-'uname-s'-'uname -m’ -o /usr/local/bin/docker-compose

2.设置文件可执行权限

chmod +x /usr/local/bin/docker-compose

3.查看版本信息

docker-compose -version

4.卸载Docker Compose

rm /usr/local/bin/docker-compose

Docker搭建私有仓库

1.拉取私有仓库连接

docker pull resistry

2.启动私有仓库

docker run -id –name=registry -p 5000:5000 registry

3.打开连接,浏览器中输入http://私有仓库服务器ip5000/v2/_catalog,看到{“repositories”:[]}表示私有仓库,搭建成功

4.修改damon.json

vim /etc/docker/damon.json

#在中间中添加key,保存退出,该步骤是让docker信任私有仓库,注意将所有私有的仓库服务器ip修改为自己私有仓库服务器的真实ip

{“insecure-registries”:[私有仓库服务器ip:5000]}

5.重启docker服务

systemctl restart docker

docker start registry

将镜像上传至私有仓库

1.标记镜像为私有仓库镜像

docker tag 需要标签的docker镜像 私有仓库服务器ip:5000/centos:7

2.上传标记的镜像

docker push 私有仓库服务器ip:5000/标记好的docker镜像

3.删除当前的镜像

docker rmi 镜像名

4.从私有仓库拉取镜像

docker pull 镜像名

容器和虚拟机的比较:

相同点:容器和虚拟机都是进行相似的资源隔离和分配优势

不同点:传统虚拟机可以运行不同的操作系统,容器只能运行同一类型的操作系统


文章作者: it星
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 it星 !
 上一篇
mysql知识点学习 mysql知识点学习
it星
mysql的一些概念与面试常见问题,烦人(小声bb)。 Mysql常见的问题索引相当于一个字典,存放一个文件及在文件中的偏移量。索引存在的位置是存放在磁盘位置。基本概念:局部性原理(时间局部性和空间局部性)和磁盘预读(以页为单位) 1.my
2020-03-30
下一篇 
标题党--it星 标题党--it星
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hex
  目录