docker容器安装与管理命令
一 安装部署19版docker
1.1 安装docker依赖包
[root@localhost cenjeal]# yum install -y yum-utils device-mapper-persistent-data lvm2
1.2 设置阿里镜像源
[root@localhost cenjeal]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
完成后进入镜像源仓库查看,发现多了一个镜像
[root@localhost cenjeal]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo docker-ce.repo
1.3 安装docker-CE
[root@localhost cenjeal]# yum -y install docker-ce
1.4 关闭防火墙
[root@localhost cenjeal]# systemctl stop firewalld
[root@localhost cenjeal]# setenforce 0
1.5 启动docker服务
[root@localhost yum.repos.d]# systemctl start docker
[root@localhost yum.repos.d]# docker images #查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost yum.repos.d]# docker ps -a #查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost yum.repos.d]# systemctl enable docker
1.6 配置镜像加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://*******.mirror.aliyuncs.com"] #打码,可前往阿里云官网设置镜像加速
}
EOF
systemctl daemon-reload
systemctl restart docker
1.7 查看docker版本
docker version
1.8 网络优化
开启路由转发
[root@localhost docker]# vim /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@localhost docker]# sysctl -p
net.ipv4.ip_forward = 1
service network restart
systemctl restart docker
二 镜像的操作
2.1 查找指定镜像
例:查找指定镜像nginx,官网上架的nginx镜像列表
docker search nginx
2.2 下载镜像
docker pull nginx
下载后存放在/var/lib/docker
查看下载文件信息
vim /var/lib/docker/image/overlay/repositories.json
2.3 获取镜像详细信息
docker inspect 镜像id
例:
[root@localhost overlay2]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c39a868aad02 3 days ago 133MB
[root@localhost overlay2]# docker inspect c39a868aad02 #json格式
2.4 添加新标签
docker tag nginx:latest nginx:web
2.5 删除镜像
docker rmi nginx:latest
docker rmi c39a868aad02
2.6 导出镜像
docker save -o /opt/nginx nginx:latest
2.7 载入镜像
方法一:docker load < /opt/nginx
方法二:docker --input nginx
2.8 上传镜像
docker tag nginx:latest cenjeal/nginx:web #改标签 用户名/仓库名:镜像名
docker login #登录
Username: docker
password:
Email: xxx@xxx.com
docker push cenjeal/nginx:web #上传
三 容器的操作
3.1 创建容器
docker create -it nginx:latest /bin/bash
-i 让容器的标准输入保持打开
-t 让Docker分配一个伪终端,让用户进入容器当中
3.2 查看容器
docker ps -a
-a表示列出所有的容器,包括未运行的容器
3.3 启动容器
docker start 6c9aabe7b1e5
docker ps -a 查看状态,应为up
3.4 进入容器
docker exec 选项 容器的id/名称 /bin/bash
[root@localhost opt]# docker exec -it e508eec69445 /bin/bash
3.5 退出容器
root@e508eec69445:/# exit
创建镜像,创建容器,开启容器
docker run centos:7 /bin/bash -c ls /
死循环
docker run centos:7 /bin/bash -c "while true;do echo hello;done”
3.6 容器导出
docker export 容器的id/名称 > 文件名
docker export 98d6f4d10697 > /opt/nginx_c
3.7 容器导入(会生成镜像,而不会创建容器)
cat nginx_c | docker import - nginx:web
3.8 删除容器
docker rm e508eec69445
批量删除容器
docker ps -a | awk ‘{print "docker rm "$1}’ | bash