卸载旧版本
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
|
查看服务器版本信息
配置阿里云镜像地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
|
更新yum软件包索引
配置阿里云加速器
cd /etc/docker vim daemon.json { "registry-mirrors": ["https://lan0m8lu.mirror.aliyuncs.com"] } systemctl daemon-reload systemctl restart docker
|
或
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://lan0m8lu.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
|
安装docker
yum install docker-ce docker-ce-cli containerd.io
|
启动docker
卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
|
删除资源
docker辅助命令
docker version 显示docker的版本信息 docker info 系统信息,包括镜像和容器的详细信息 docker 命令 --help 帮助命令
|
docker镜像命令
docker imgaes [-a|-q|-f] 查看docker所有镜像帮助信息 -a 列出所有镜像 -q 只显示镜像id docker删除命令 docker rmi -f name|id 删除指定容器 docker rmi -f id id id 删除多个容器 $(docker images -aq) 删除全部容器 docker搜索命令 docker search name --filter=stars=3000 搜索镜像的收藏数大于3000 docker下载命令 docker pull name[:tag]
|
docker容器命令
新建容器并启动
docker run [可选参数] image
#参数说明 --name="name" 容器名称 -d 后台方式启动 -p 指定容器的端口 -p 8080:8080 -p 主机端口:容器端口(常用) -p ip:主机端口:容器端口 -p 容器端口 容器端口 -it 使用交互方式运行,进入容器 -P 随机指定端口
|
启动并进入容器
列出所有运行容器 docker ps 当前运行的容器 -a 当前运行的容器+历史运行的容器 -n=? 显示最近创建的容器 -q 只显示容器的编号 退出容器 exit 容器停止并容器 ctrl+p+q 快捷键,容器退出不停止
删除容器 docker rm 容器id 删除指定容器,不能删除正在运行的容器。 -f $(docker ps -aq) 删除所有容器 docker ps -a -q|xargs docker rm 删除所有容器
|
启动和停止容器操作
docker start 容器id 启动容器 docker restart 容器id 重启容器 docker stop 容器id 停止当前运行的容器 docker kill 容器id 强制停止当前运行的容器
|
后台启动容器
docker run -d centos 容器后台运行时,必须要有一个前台进程,docker发现没有前台应用,就会自动停止。
|
查看日志命令
docker logs 容器id -tf 显示日志 --tail number 显示日志条数
写shell脚本,让容器永不停止 docker run -d centos /bin/bash -c "while true;do echo time;sleep 1;done"
|
查看容器中的进程信息
查看镜像元数据
docker inspect --help 查看
docker inspect 容器id 查看容器的元数据
|
进入当前正在运行的容器
docker exec -it 容器id /bin/bash 进行容器后开启新的终端 docker attach 容器id /bin/bash 进入当前正在运行的终端,不会启动新的进程
|
容器拷贝文件
docker cp 容器id:容器内路径 宿主机路径
docker cp 宿主机路径 容器Id:容器内路径
|
作业1:部署nginx
搜索镜像 docker search nginx 下载镜像 docker pull nginx 启动镜像 docker run -d --name nginx01 -p 8080(外部端口):8080(容器端口)
|
作业2:部署tomcat
docker run -it --rm tomcat:9.0 用完即删除
下载镜像 docker pull tomcat 启动镜像 docker run -d -p 6666:8080 --name tomcat01 tomcat
|
作业3:部署es+kibana
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
如上命令开启的es 内存占用较小 docker stats 查看docker CPU状态
|
作业:安装kibana
portainer(可视化)
Docker图形化界面管理工具!提供一个后台面板供我们操作!
docker run -d -p 8000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true \ portainer/portainer
|
docker commit镜像
docker commit 提交容器成为一个新的副本
docker commit -m "提交描述信息" -a="作者" 容器id 目标镜像名:[tag]
docker commit -a "Time" -m "add webapps app" 容器id 生成的镜像名:版本
|