五个隔离
- pid:进程隔离
- net:网络隔离
- ipc:进程间通信
- mnt:文件系统
- uts:kernel隔离
安装脚本
# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
# Step 4: 开启Docker服务
service docker start
# 配置加速镜像,/etc/docker/daemon.json
mkdir -p /etc/docker
#阿里云的镜像地址需要到 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 查看weqjh8dwxxx
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hub-mirror.c.163.com", "https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
docker info
常用命令
自动跟随的方式查看docker中的日志信息:
docker logs -f -t xxx
以交互方式进入容器终端:
docker exec -it xxx /bin/bash
以指定名称后台运行容器,并映射端口:
docker run -d --name nginx -p 80:80 nginx
主机与容器间复制文件:
docker cp test.html nginx:/usr/share/nginx/html/
还有ps/kill/top/pause/inspect
等命令
Dockerfile
FROM Image:Tag
MAINTAINER Author <user@email>
RUN 执行命令
EXPOSE 暴露的端口
WORKDIR 默认工作目录
USER 运行的用户
ENV 环境变量,使用$JAVA_HOME:JAVA_HOME /usr/local/java
ADD 添加文件并解压:xxx.tar.gz /usr/local/
COPY 添加文件
VOLUME 卷
CMD 可以多个,最后一个为run时调用的命令,前面的为构建时执行的命令
# 如果run时指定,则原最后一个CMD不会执行
ENTRYPOINT 启动命令 run时可追加参数
ONBUILD 子镜像构建时执行的命令
编译:docker build -f xxx -t xxx .