Docker 学习笔记

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo
yum install -y docker-ce
docker -v
systemctl start docker
systemctl enable docker

docker search centos
docker pull centos

docker images
docker rmi images
docker rm -f [container id]

更换源
vi /etc/docker/daemon.json
{
 "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]

systemctl daemon-reload
systemctl restart docker


创建容器
docker run --name genew -itd centos bash 让容器便准输入打开,分配一个伪终端,后台启动

docker ps 查看所有容器包括停止的

docker exec -it [container id] bash

docker tag centos genew_centos
docker tag centos genew_centos:genewtag

docker stop [container id]

docker logs [container id]

创建新的某状态镜像
docker commit -m 'install net-tools' -a 'genew' [container id] genew_new_os  (-m 备注信息,-a 作者信息)

导出镜像
docker export -o export_os.tar [container id]

导入镜像
docker import export_os.tar genew_centos bash

仓库管理
docker pull registry
docker run -d -p 5000:5000 registry
curl 127.0.0.1:5000/v2/_catalog
标记tag,必须带有私有仓库的ip:port
docker tag [images name] 10.8.1.126:5000/centos_repo
添加私有仓库到配置文件
vi /etc/docker/daemon.json
{
 "insecure-registries": ["10.8.1.126:5000"]

重启Docker服务
systemctl daemon-reload
systemctl restart docker

重新启动相关容器后,推送镜像到私有仓库
docker push 10.8.1.126:5000/centos_repo
其他设备可以使用如下方式去获取仓库中的镜像
docker pull 10.8.1.126:5000/centos_repo

数据管理
在创建容器时,添加参数 -v 用于指定挂载目录,实现本地目录与容器之间的映射
docker run --name genew -itd -v /genew_data:/data centos bash   

创建数据卷容器(实现将其他容器的内容同时共享给另外一些容器使用,同时与宿主机互通)
docker run --name new_genew -itd --volumes-from genew bash

网络模式
1.bridge模式映射
获取httpd服务
docker pull httpd

将宿主机进行端口映射
docker run -itd -p 8081:80 httpd bash

进入容器启动服务
docker exec -it [container id] bash

启动httpd
httpd -k start

其他设备上测试
curl 172.17.0.2 或 http://10.8.1.127:8081


2.host模式,与宿主机使用同一套的网络
docker run -itd --net=host [images name] bash
docker exec -it [container id] bash
httpd -k start

3.container模式,使多个容器使用相同的网络
docker run -itd --net=container:[container id] [images name] bash
docker exec -it [container id] bash

4.无网络模式
docker run -itd --net=none [images name] bash
docker exec -it [container id] bash
要想让无网络方式的实现网络访问
1.将宿主机的设备配置成桥接接口
2.下载pipework的工具,下载pipework,解压后将pipework文件夹复制到/usr/local/bin路径中
3.为容器分配网络地址,在宿主机上进行配置
pipework br0 [container id] 10.8.1.128/24@10.8.1.254
4.查看容器内的网络,注意,容器停止后就会网络失效,需要重新配置

安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

修改执行权限
sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version

运行
docker-compose -f docker-compose.yaml up -d (指定目录,在后台启动)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值