完整版的 腾讯文档 https://docs.qq.com/doc/DQ0p4bUZ2cmJCblN4
使用 root
权限登录 Centos。确保 yum 包更新到最新。
sudo yum update
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
安装
yum install -y docker-io
启动
docker start
列出镜像
docker images
搜索镜像 比如centos
docker search centos
列出本地镜像
docker images
下载镜像
docker pull centos
网络错误解决 error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker...
yum install bind-utils
dig @114.114.114.114 registry-1.docker.io
使用镜像启动容器
docker run --name mydocker -it centos /bin/bash 这样会直接进入mydocker 容器
--name 名字, /bin/bash 应用退出容器也退出
docker run -d --name mydocker -it centos /bin/bash 这样会在后台运行 mydocker 容器
-d 后台运行
列出容器
docker ps -a
停止容器
docker stop CONTAINER ID
删除容器
docker rm CONTAINER ID
创建一个nginx容器
docker run -d --name mynginx nginx
docker ps -a | grep nginx
指定端口映射
docker run -d -p 8000:80 --name mynginx2 nginx
随机端口映射
docker run -d -P --name mynginx2 nginx
启动一个容器
docker start CONTAINER ID
进入容器
第一步 docker inspect --format "{{.State.Pid}}" mynginx
第二部 nsenter --target 30644 --mount --uts --ipc --net --pid
进入容器写成脚本
vi in.sh
#!/bin/bash
CNAME=$1
CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME)
nsenter --target "$CPID" --mount --uts --ipc --net --pid
修改权限
./in.sh mynginx
虚拟网卡
yum install -y bridge-utils
brctl show
挂载目录
docker run --name nginx81 -d -p 81:80 -h nginx -v /data/nginx/html:/usr/share/nginx/html nginx
-h ps名称
-d 后台
-p 指定端口
手动构建镜像 centos 里面 nginx
docker run --name nginx-main -it centos
yum install -y wget gcc gcc-c++ make openssl-devel
wget http://nginx.org/download/nginx-1.15.12.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gz nginx 需要依赖
tar zxf nginx-1.15.12.tar.gz
tar zxf pcre-8.00.tar.gz
useradd -s /sbin/nologin -M www
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/pcre-8.00
make
make install
接下来加入容器开机自启动
vi /etc/rc.local
末尾加上 /usr/local/nginx/sbin/nginx
vi /usr/local/nginx/conf/nginx.conf
头部加上 daemon off;
退出 exit
打成镜像
docker commit -m "my mgnix" 14dde2c366b7 fupengcheng/my-nginx:v1
运行自己的镜像
docker run -d -p 88:80 fupengcheng/my-nginx:v1 /usr/local/nginx/sbin/nginx