更新系统软件包
yum update
安装docker的yum源
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
执行安装
yum -y install docker-engine
服务启、停、查、重启
service docker start/stop/status/restart
chkconfig docker on
关闭SELinux
# 临时关闭SELinux
setenforce 0
# 临时打开SELinux
setenforce 1
# 开机关闭SELinux
编辑/etc/selinux/config文件,将SELINUX的值设置为disabled
Hello,World
docker run hello-world
添加docker Hub国内镜像
#如果没有此文件,则新建一个
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
常用docker 命令
docker build --rm=true . 构建镜像
docker pull ${IMAGE} 安装镜像
docker images 显示已经安装的镜像
docker images --no-trunc 显示已经安装镜像的详细内容
docker rmi ${IMAGE_ID} 删除指定镜像
docker rmi $(docker images | grep “^” | awk “{print $3}”) 删除所有没有标签的镜像
docker rm $(docker ps -aq) 删除所有的镜像
docker rmi $(docker images --quiet --filter "dangling=true") 删除未使用的镜像
docker run 运行容器
docker run -d 后台运行容器
docekr run -v /home/zyj2/html:/opt/ci123/www/html 挂载文件到容器内
docker run --name="zyj" 为容器指定一个名称zyj
docker run --link=[] 添加链接到另一个容器
docker ps 显示正在运行的容器
docker ps -a 显示所有的容器
docker stop ${CID} 停止指定容器
docker stop docker ps -q 停止所有正在运行的容器
docker ps -a --filter "exited=1" 显示所有退出状态为1的容器
docker rm ${CID} 删除指定容器
docker ps -a | grep wildfly | awk '{print $1}' | xargs docker rm -f 使用正则表达式删除容器
docker rm -f $(docker ps -a | grep Exit | awk '{ print $1 }') 删除所有退出的容器
docker rm $(docker ps -aq) 删除所有的容器
docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${CID} 显示指定容器的IP
docker attach ${CID} 进入容器
docker exec -it ${CID} bash 进入容器打开一个shell
docker ps | grep wildfly | awk '{print $1}' 通过正则表达式查找容器的镜像ID
docker cp /root/test.txt edhjhs278s:/root/ 将当前操作系统(CentOS)家目录(root)下的文件test.txt拷贝到容器id为ecef8319d2c8的家目录(root)文件夹下
docker cp ecef8319d2c8:/root/test.txt /root/ 将容器id为ecef8319d2c8的家目录(root)文件夹下的test.txt拷贝到当前操作系统(CentOS)家目录(root)下
docker阿里加速
2、复制自己的docker配置
cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
3、编辑/etc/systemd/system/docker.service内容如下(注意修改)
[Service]
ExecStart=/usr/bin/dockerd-current \
--registry-mirror=https://********.mirror.aliyuncs.com \
4、重启docker
systemctl daemon-reload
systemctl restart docker
镜像操作
搜索镜像
docker search mysql:5.7
从docker hub下载镜像到本地
docker pull centos
列出所有本地镜像
docker images
删除本地镜像
docker rmi centos
如果已经有基于此镜像的容器,需要先删除相应的容器再删除镜像。或者通过-f参数强制删除镜像,如docer rmi -f centos。
为镜像打tag
docker tag a653cd3f70bf cheyo/myapp:v2
安装docker-compose
安装pip
#1、安装python-pip包
yum -y install epel-release
#2、安装python-pip包
yum install python-pip
#3、升级pip
pip install --upgrade pip
#4、安装docker-compose
pip install docker-compose