Docker安装及使用

来源:互联网 发布:php房产中介网站源码 编辑:程序博客网 时间:2024/06/05 00:54

安装及使用Docker

安装docker

yum install docker
systemctl enable docker
systemctl start docker
sudo usermod -aG docker cooper

pull镜像

docker run hello-world
docker pull centos
docker pull centos:7.2.1511

images

docker images -a

docker commit … //save container as image
docker commit –author “cooper@foxmail.com” –message “centos7 commit” {cont_name} {img_name}:{tag}
docker build -t nginx:v3 //Read cur dir Dockerfile(FROM,RUN)
docker build - < Dockerfile
cat Dockerfile | docker build -

//save image to file
docker save centos | gzip > centos-latest.tar.gz
docker load -i centos-latest.tar.gz

docker rmi {img_name}

container

docker ps -a

//interactive(stop on exit)
docker run -it centos:latest bash
docker run -it –name “centos0” centos:latest bash

docker run -it –rm centos:latest bash
docker run -it –rm centos:latest /bin/echo ‘Hello world’

//deamon
docker run –name “centos0” -d centos:latest /bin/sh -c “while true; do echo hello world; sleep 1; done”
docker attach centos0

//interactive
docker run –name “centos0” -t centos:latest /sbin/init
docker exec -it centos0 /bin/bash

docker ps
docker logs {cont_name}

docker rm {cont_name}

docker start/stop/restart {cont_name}
docker start -i {cont_name}
docker pause/unpause

//import and export container to file

docker export 7691a814370e > ubuntu.tar
cat ubuntu.tar | docker import - test/ubuntu:v1.0

docker rename centos_old centos_new

/var/lib/docker/

docker run --name "centos0" -t centos:latest /sbin/initdocker exec -it centos0 /bin/bashdocker save centos | gzip > centos-latest-7.3.1611.tar.gzdocker load -i centos-latest-7.3.1611.tar.gzyum install wget   wget http://mirrors.163.com/.help/CentOS7-Base-163.repo   mv CentOS7-Base-163.repo /etc/yum.repos.d/     yum clean all     yum makecacheyum install iprouteyum install openssh-serversystemctl start sshdpasswd root/csg123456     ssh root@192.168.123.2docker commit --author "yupengqu@tencent.com" --message "centos7 commit"  centos0 centos7.3-sshd:v1.0

测试Dockerfile
vi Dockerfile

FROM centos

RUN mkdir /tmp/foo
RUN dd if=/dev/zero of=/tmp/foo/bar bs=1048576 count=100
RUN rm /tmp/foo/bar
RUN rm /tmp/foo

docker build -t centos7.3-sshd:v1.0

host<->guest port mapping

docker -P
docker -p

docker –link

data volume

docker run -v
docker run –name “centos0” -t -v /home/docker-CentOS/host_datav:/guest_datav centos:latest /sbin/init
docker inspect centos0

metrics

numactl –hardware
docker run –name “centos0” -c 1024 –cpuset-cpus=0,2,4,6 -m 8g -t centos:latest /sbin/init
echo “512” > /cgroup/cpu/docker/$CONTAINER_ID/cpu.shares

device

docker run –name “centos0” -c 1024 –cpuset-cpus=0,2,4,6 -m 8g –device=/dev/sdg:/dev/sdx -t centos:latest /sbin/init
docker run –name “centos0” -c 1024 –cpuset-cpus=0,2,4,6 -m 8g -v /dev/sdh:/dev/sdx -t centos:latest /sbin/init

add disk device

docker volume create –driver local –name dsdy –opt type=ext4 –opt device=/dev/sdy
docker run –name “centos0” -c 1024 –cpuset-cpus=0,2,4,6 -m 8g -v dsdy:/dev/sdy -t centos:latest /sbin/init

docker volume cmd

docker volume create Create a volume
docker volume inspect Display detailed information on one or more volumes
docker volume ls List volumes
docker volume prune Remove all unused volumes
docker volume rm Remove one or more volumes

安装docker后,缺少docker0网桥,手动创建,才能启动docker

brctl addbr docker0
ip addr add 192.168.123.1/24 dev docker0
ip link set dev docker0 up

ip link set dev docker0 down
ip addr del 192.168.123.1/24 dev docker0
ip addr add 192.168.123.1/24 broadcast + dev docker0
ip link set dev docker0 up

网卡相关操作

yum install bridge-utils

除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器。

在启动 Docker 服务的时候,使用 -b BRIDGE或–bridge=BRIDGE 来指定使用的网桥。

如果服务已经运行,那需要先停止服务,并删除旧的网桥。

sudoservicedockerstop sudo ip link set dev docker0 down
$ sudo brctl delbr docker0

然后创建一个网桥 bridge0。

sudobrctladdbrbridge0 sudo ip addr add 192.168.5.1/24 dev bridge0
$ sudo ip link set dev bridge0 up

查看确认网桥创建并启动。

$ ip addr show bridge0
4: bridge0:

原创粉丝点击