- docker容器安装;
docker离线版本:
wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.14.tgz
下载完成以后解压tar包:
tar -zxvf docker-20.10.14.tgz
将相关命令拷贝到 /usr/bin/
cp docker/* /usr/bin/
将docker服务注册为系统服务:
先创建docker.service
vim /etc/systemd/system/docker.service
将下列内容粘贴进去:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
为docker.service文件添加执行权限:
chmod +x /etc/systemd/system/docker.service
重新加载配置文件:(每次有修改docker.service文件时都要重新加载下)
systemctl daemon-reload
启动docker服务:
systemctl start docker.service
设置开机自启:
systemctl enable docker.service
查看状态:
systemctl status docker
查看docker版本:
docker -v
安装完成后测试:
配置镜像加速器,可以使用中科大加速器:
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
刷新配置:
systemctl daemon-reload
重启docker:
systemctl restart docker
拉取镜像:
docker pull XXX(镜像名字)
查看所有的镜像:
docker images
Docker使用EPEL发布,需要确保有EPEL仓库,先安装对应的EPEL包:
yum install -y epel-release
安装docker:
yum install -y docker-io
查看安装之后的配置文件:cat /etc/sysconfig/docker
启动Docker后台服务:service docker start
验证:docker version
设置docker开机自启动:chkconfig docker on
docker查看开机是否自启动:chkconfig docker --list
- docker容器:
容器中可以拉取很多docker镜像
使用docker images 命令即可查看已经存在的镜像名字:
docker run -it xxx/bin/bash ---可以进入xxx镜像的交互式
docker ps --查看正在运行的镜像(显示出镜像的ID。。。)
也可以根据镜像的ID终止正在运行的镜像:
docker rm ID
如果镜像中有正在运行的服务,此时使用docker rm ID 无法终止,
需要先停止docker中运行的服务,再重新终止运行的镜像:
终止服务:
docker stop tomcat
再次执行:
docker rm ID
查看指令的具体用法;
docker stats --help
启动容器:
docker start xxx (xxx可以是容器名字也可以是ID)
重启容器:
docker restart xxx (xxx可以是容器名字也可以是ID)
使用docker exec -it ID /bin/bash 进入docker中
(如果从这个容器退出,容器不会退出,推荐使用)
导入和导出容器;
docker export ID > ubuntu.tar
导出的容器快照到本地文件 ubuntu.tar
导入容器快照:
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
也可以通过指定URL或者某个目录来导入;
docker import http://example.com/exampleimage.tgz example/imagerepo
删除容器;
docker rm -f ID
清理所有终止状态的容器:
docker container prune
运行一个web应用:
使用docker构建一个web程序:
Docker pull training/webapp
Docker run -d -P training/webapp python app.py
通过-p参数设置映射端口:
docker run -d -p 8888:8080 tomcat
(将虚拟机中的8888端口映射到docker中的8080端口)
浏览器访问的时候只需要访问8888端口即可
访问:虚拟机IP+8888端口
(8888端口可以根据实际需要进行设置)