docker基础学习
1. 安装docker
yum remove docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-testing
yum-config-manager --disable docker-ce-testing
yum makecache fast
yum install docker-ce
2. 容器管理
-- 新建容器
docker run
--name docker01
--mount type=bind,source=/usr/local/nginx/conf,target=/usr/local/nginx/conf
--mount type=bind,source=/data/nginx/docker01/logs,target=/data/nginx/logs
--mount type=bind,source=/data/nginx/docker01/tmps,target=/data/nginx/tmps
-d
-p 8001:80
tengine-2.1.2
交互型容器:运行在前台,容器中使用exit命令或者调用docker stop、docker kill命令,容器停止。
docker run -it --rm unbuntu:18.041 bash (临时)
docker run -it --name=nginx001 nginx /bin/bash
i:打开容器的标准输入。
t:告诉docker为容器建立一个命令行终端。
name:指定容器名称,可以不填(随机),建议根据具体使用功能命名,便于管理。
centos:告诉我们使用什么镜像来启动容器。
/bin/bash:告诉docker要在容器里面执行此命令。
后台型容器:运行在后台,创建后与终端无关,只有调用docker stop、docker kill命令才能使容器停止。
docker run -d --name=nginx002 -p 80:80 nginx
d:使用-d参数,使容器在后台运行
-- 进入容器
docker exec -it containerID /bin/bash
-- 查看正在运行的容器
docker container ls
-- 查看所有容器,包括停止运行的容器
docker container ls -a
-- 删除所有停止运行的容器
docker container prune
-- 容器启停
docker container start containerID
docker container stop containerID
docker container restart containerID
docker container kill containerID 强制停止
3. 镜像管理
查看镜像
docker image ls
docker ps
#删除镜像
docker rm image ID
#使用Dockerfile构建镜像
docker build -t tag .
4. 定制镜像
方法一:
1.修改容器内的信息
docker exec -it webserver bash
root@3729b97e8226:/# echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
root@3729b97e8226:/# exit
2.查看变化的文件
$ docker diff webserver
3.将容器保存为镜像:
docker commit --author "anthony" --message "修改了默认网页" nginx003 nginx:v2
4.自定义镜像已生成:
#docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v2 1de4a7f61c14 8 seconds ago 126MB
5.运行新镜像
docker run --name=nginx004 -d -p 8012:80 nginx:v2
方法二(常用):
Dockerfile
1.创建目录 及文件
mkdir /home/mynginx
vim Dockerfile
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html \
&& echo '<h1>111</h1>' >> /usr/share/nginx/html/index.html
2.构建镜像
docker build -t nginx:v3 .
. 表示当前目录
3.定制镜像已生成:
#docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v3 029293c1f656 5 minutes ago 126MB
5. 容器快照管理
-- 导出容器快照
docker export containerID > centos.tar
-- 导入容器快照文件为镜像
cat centos.tar | docker import - tengine-2.1.2
6. 自定义网桥
systemctl stop docker
ip link set dev docker0 down
brctl delbr docker0
brctl addbr docker0
ip addr add 172.20.0.0/16 dev docker0
ip link set dev docker0 up
ip addr show docker0

浙公网安备 33010602011771号