Docker安装及使用

安装及使用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/init
docker exec -it centos0 /bin/bash

docker save centos | gzip > centos-latest-7.3.1611.tar.gz
docker load -i centos-latest-7.3.1611.tar.gz

yum 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 makecache

yum install iproute
yum install openssh-server
systemctl start sshd
passwd root/csg123456
     ssh root@192.168.123.2

docker 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:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值