最近开始学习Docker,和大家分享一些学习过程遇到的问题和经验。
我使用的环境是CentOS7,Docker版本选择Docker CE 即社区免费版。
安装Docker准备工作
1、Docker 要求 CentOS 系统的内核版本高于 3.10,通过下面的语句查看内核版本
uname -r
2、移除旧的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
3、安装所需的软件包 yum-utils、device-mapper-persistent-data和 lvm2
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置版本库,看了一些资料说选择国内的源速度回比较快,我选择是阿里的,想默认的可以使用第二个
//阿里源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//稳定源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、更新 yum 缓存
sudo yum makecache fast
开始安装Docker
1、安装 Docker CE
sudo yum -y install docker-ce
2、启动Docker
sudo systemctl start docker
3、设置开机启动
sudo systemctl enable docker
4、查看Docker版本,如果有显示版本号则安装成功,
docker --version
5、配置阿里镜像加速器
1、)注册阿里云账号,查找 容器镜像服务
2、)修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你自己的转属加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
运行实操
1、拉取镜像,此处举例httpd,镜像的ID唯一标识了镜像,如果ID相同,说明是同一镜像。TAG信息来区分不同发行版本,如果不指定具体标记,默认使用latest标记信息
//默认下载latest版本
docker pull httpd
//如果需要特殊版本则加上需要的tag
docker pull redis:5.0.5-alpine3.10
//docker hub地址,如果有特殊需要可以这里查询版本tag
https://hub.docker.com/r/library/
2、查看镜像,可以发现httpd已经拉取成功
docker images
3、创建一个容器并运行,将容器命名为dockerhttpd ,并把80端口映射到宿主机的8080端口,宿主机的目录/dockerdata/httpd挂载到容器的/var/www/httpd/
docker run -it -d -p 8080:80 --name dockerhttpd -v /dockerdata/httpd:/var/www/httpd/ httpd
参数说明如下:
-i:以交互模式运行容器,通常与-t同时使用。
-t:为容器重新分配一个伪输入终端,通常与-i同时使用。
-d:后台运行容器,并返回容器ID。
-p:端口映射,格式为“宿主机端口:容器端口”。
--name:为容器指定一个名称。
-v:把宿主机上的一个目录挂载到镜像里,格式为“宿主机目录:镜像内挂载的路径”,必须为绝对路径。
4、查看容器启动情况,如果dockerhttpd 状态为up则运行成功
docker ps -a
5、如果是云服务器,需要看下一是否需要设置对应端口的安全组
6、页面访问http://服务器IP:宿主机端口号,如果出现这个页面则访问成功
7、进入容器
docker exec -it 容器ID /bin/bash
8、退出容器
先按,Ctrl+P; 再按,Ctrl+Q(快捷方式)
结束语
到此安装完成,希望大家可以一起学习一起进步,下面是自己再搭建的时候整理收集的一些常用docker语句
安装docker-ce
yum -y install docker-ce
运行Docker
systemctl start docker
开机自动启动Docker
systemctl enable docker
停止Docker
systemctl stop docker
重启Docker
systemctl restart docker
拉取镜像
docker pull 镜像ID
查看镜像
docker images
强制删除镜像
docker rmi 镜像ID
删除docker-ce
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
进入容器中
docker exec -it 容器ID /bin/bash
退出容器
先按,Ctrl+P; 再按,Ctrl+Q(快捷方式)
删除容器
docker rm 容器id
命令查看宿主机的挂载目录
docker inspect
查看容器启动情况
docker ps -a