docker 容器从0到1

本文详细介绍了Docker的基础知识,包括安装卸载、基本命令、镜像制作及容器管理。探讨了Docker网络、Docker Compose的使用,以及Docker Machine和Docker Swarm在集群管理中的应用。此外,还分享了在CentOS上使用Docker时可能遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

1.什么是docker,有什么作用

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 LinuxWindows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

2.docker的基本使用命令

2.1 docker 的安装和卸载

 先卸载

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

 安装工具

yum install -y yum-utils

设置阿里镜像路径,官方的比较慢 

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 安装最新版Docker Engine-Community

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

2.2 centos 使用docker的命令

#### centos启动docker

systemctl start docker

#### 查看docker状态

systemctl status docker

#### 停止docker

systemctl stop docekr


2.3docker的镜像命令

#### 查看docker的镜像文件列表

docker images


#### 删除docker的镜像文件

docker rmi 镜像名字 docker rmi mysql 

docker rmi -f 镜像名字  #(强制删除) docker rmi -f mysql


##### 	查看某个镜像文件的在仓库里的stars大于30的镜像

docker search -f stars=30 mysql


##### 	去https://hub.docker.com/官方镜像仓库搜索镜像,tag里找到想要的然后拉取

docker pull mysql:5.7.39

2.4docker 容器的命令使用

# docker 运行 mysql -v是挂载 -d 是以后台方式运行 - e设置 mysql root用户和密码 -p是端口映射
docker run --name dockerMysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v   /root/data: /var/lib/mysql mysql:5.7.39


docker ps # 查看容器运行情况

docker exec -it dockerMysql bash # 进入mysql内部

docker exec -it  (name or id)  /bin/bash # 进入容器内部

docker start dockerMysql #启动容器

docker stop dockerMysql # 关闭容器

docker restart dockerMysql # 重启容器

docker rm -f dockerMysql # 强制删除容器

可能会出现的情况:: listen tcp4 0.0.0.0:3306: bind: address already in use.(端口被占用)

 ps -ef|grep 3306 # 查看端口或者 lsof -i:3306
 kill -9 pid 

 运行centos7容器

 docker run --name mycentos -itd centos:centos7
 docker exec -it mycentos /bin/bash #进入centos内部

2.5docker的文件 挂载

 所谓挂载相当宿主机和容器 挂载目录中的文件保持一样,如果容器突然被删除,宿主机里的文件不会消失。

# 将宿主机的文件拷贝到容器内

docker cp /nikaboy/a.txt mycentos:/nikaboy/ #注意:后面不能有空格

# 将容器里文件拷贝到宿主机

docker cp f5dec224a59d:/usr/nikaboy/a.txt /nikaboy #注意:后面不能有空格
# 将宿主机/nikaboy目录挂载到centos中的/nikaboy
docker run -di -v /nikaboy:/nikaboy --name=nikaboyVolume centos:centos7

 匿名挂载

# 匿名挂载的话就是没有写容器外对应的路径,只写容器内路径

docker run -di -v /nikaboy --name=nikaboy centos:centos7 #匿名挂载

docker volume ls # 查看匿名挂载随机生成的卷名

## 73fd7ef66970fd477e37292a0d9eb2282cc9bc4b47ae406e12db02cd32d8306b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值