docker入门

Docker入门
环境准备与搭建
运行环境:
CentOS7安装Docker:
下载关于Docker的依赖环境
1.下载关于Docker的依赖环境
yum -y install yum-utils device-mapper-persistent-data lvm2
2.设置下载Docker的镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装Docker
yum makecache fast
yum -y install docker-ce
4.启动Docker,并设置为开机自动启动,测试
启动Docker服务
systemctl start docker
设置开机自动启动
systemctl enable docker
测试
docker run hello-world设置阿里云镜像仓库:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://31q5iq8m.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker基础命令
docker version查看docker版本号及详细信息
与docker version 相似的 命令 有
docker info显示 Docker 系统信息,包括镜像和容器数
docker --helpdocker 的帮助命令
docker search +搜索镜像名
docker pull 镜像名[:tag]例如:docker pull mysql:8.0 拉取镜像
docker rmi + 镜像id移除镜像
容器命令
docker run [可选参数] image启动容器
--name='自定义容器名字' # 容器名称 Tomcat1 Tomcat2 用来区分容器
-d # 后台方式运行
-it # 使用交互方式运行 进入容器查看内容
-p # 指定容器端口 -p 主机端口: 容器端口
例如 docker run -it -d centosId /bin/bash
[root@iZbp17g2ontiv6b4tu0incZ ~]# docker run -it 300e315adb2f /bin/bash
[root@a0f6172ef990 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@a0f6172ef990 /]#
docker ps查看正在运行的容器
-a # 列出所有正在运行的容器+ 历史运行过的容器
-q # 只显示容器id
删除docker中的镜像,我们可以使用如下命令:
docker rmi 镜像id |
删除docker中的容器可以使用如下命令:
docker rm 容器id |

启动和停止容器
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止容器
docker kill 容器id # 强制杀掉容器进程
后台启动容器
# docker run -d 镜像名
docker run -d centos 运行
然后docker ps 发现容器停止了
# 常见的坑: docker 容器使用后台启动 必须要有一个前台程序 docker 发现没有应用在运行就会自动停止
# nginx 容器启动后 发现自己没有提供服务 就会立刻停止

docker inspect 266d1269bb29
docker inspect 命令,该命令用于获取容器/镜像的元数据,其中 -f 参数可以用于获取指定的数据,例如使用 docker inspect -f (双括号).IPAddress 来获取容器的 IP 地址
[root@iZbp17g2ontiv6b4tu0incZ ~]# docker inspect 266d1269bb29 |
进入当前正在运行的容器(常用)
docker exec -it 容器id /bin/bash
[root@iZbp17g2ontiv6b4tu0incZ ~]# docker exec -it 300e315adb2f /bin/bash
Error: No such container: 300e315adb2f
docker attach 容器id /bin/bash
从容器中拷贝文件出来
小结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 风离の博客!









