一、Docker安装
备份原来的yum源
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
设置阿里的yum源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理缓存并生成新的缓存
sudo yum clean all
sudo yum makecache
更新yum库
sudo yum update
如果服务器上有旧版的docker,需要先执行卸载操作
sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine
按照最新版本docker,此处安装的版本为 docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
在 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 可下载最新版本
将下载的最新版本移动至 安装目录下
cd /server/docker
yum install docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
安装成功后:
执行如下命令可以查看当前docker安装的版本信息,并确认是否安装成功:
docker --version
结果如下视图:
docker启动:
service docker start
docker开机自启动:
chkconfig docker on
Docker-compose安装:
下载最新的版本的: docker-compose-Linux-x86_64,此处安装的版本为1.24.0
https://github.com/docker/compose/releases
将文件上传到 /usr/local/bin 路径下
mv docker-compose-Linux-x86_64 docker-compose
赋予可执行权限
chmod +x docker-compose
查看版本信息 ,检查安装是否生效
docker-compose --version
结果如下视图:
注销并重新登录,然后添加阿里云Docker Hub镜像:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、操作容器
新建并启动:
docker run --name webserver -d -p 80:80 nginx
启动已终止容器:
语法:docker container start [names,id]
重启容器(将运行的容器终止,然后在重启):
语法:docker container restart [names,id]
终止容器:
语法:docker container stop [Names,id]
进入容器:
语法:docker attach 多个参数 [names,id] --不推荐使用,退出容器时使用 exit,会导致容器终止
语法:docker exec 多个参数 [names,id]
说明:
只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。
当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符
导出容器:
docker export 1d747 > nginx.tar
导入容器:
docker import
cat nginnx.tar | docker import - test/nginx
删除容器:
语法:docker container rm [names,id]
如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL 信号给容器。
清理所有处于终止状态的容器:
语法:docker container prune
查看所有已创建的包括终止状态的容器:
语法:docker container ls -a
查询当前运行的容器:docker ps
示例启动:
通过名称启动: docker container start webservice
通过id启动: docker container start 1d747
示例停止:
通过名称停止: docker container stop webservice
通过id停止: docker container stop 1d747
通过查询停止: docker stop $(docker ps -a -q)
示例进入:
通过名称进入: docker exec -i -t webservice bash
示例截图:
参考: 《Docker-从入门到实战》