专业编程基础技术教程

网站首页 > 基础教程 正文

docker基础命令学习笔记(docker基本操作)

ccvgpt 2024-07-20 11:42:26 基础教程 5 ℃

1、docker使用nginx样例:

实体机上创建目录

docker基础命令学习笔记(docker基本操作)

mkdir -p /root/nignx/html
mkdir -p /root/nignx/conf
mkdir -p /root/nignx/conf.d
mkdir -p /root/nignx/logs
vi /root/nginx/conf/nginx.conf
user root;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

server {
listen 80;
server_name somename alias another.alias;

location / {
root /usr/share/nginx/html/test; #容器内的html路径
index index.html index.htm;
}
}

}
docker pull nginx

docker run --name nginx -d -p 80:80 --net host -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /root/nginx/logs:/var/log/nginx nginx

手动进入容器

docker exec -it 容器id /bin/bash

进入容器方法的脚本

#!/bin/bash
docker_in() {
container_id=$1
pid=$(docker inspect --format {{.State.Pid}} $container_id)
nsenter --target $pid --mount --uts --ipc --net --pid
}
docker_in $1

chmod +x docker_in.sh

./docker_in.sh 容器ID

2、docker基础命令

docker重命名

docker tag mysql:last mysql:v5.3.6

docker删除

docker rmi mysql:last

docker rmi mysql:v5.3.6

docker rmi 23232332fa

docker 导入导出镜像

docker save -o mytomcat.tar mytomcat 将镜像导出到本地

docker load -i mytomcat.tar 经本地的镜像文件导入到docker

docker inspect 镜像id 可以查看该镜像的详细信息

docker容器查看:docker ps -a

docker容器暂停 docker pause 容器ID

docker取消容器暂停 docker unpause 容器ID

docker重启容器 docker restart 容器ID

docker容器关闭 docker stop 容器ID

docker 删除容器 docker rm -f 容器ID

批量删除多个容器 docker rm -f $(docker ps -a -q)


3、docker基于容器创建镜像

方式一:

docker commit -m '改动信息' -a '信息作战' 容器id 镜像:tag

docker commit -m 'map nginx' -a 'wnginx' 232323faa0 wnginx:v1.0

方式二:

docker export 232323faa0 > nginx.tar

cat nginx.tar | docker import - wnignx

docker save -o mytomcat.tar mytomcat 将镜像导出到本地

docker load -i mytomcat.tar 经本地的镜像文件导入到docker

import与load的区别,import可以重新指定镜像名称,load则不行

export与save的区别:export导出的镜像小于save的大小, export再导入会丢失镜像的所有历史

4、查看docker的容器的日志

docker logs 容器id

5、查看容器的信息

docker inspect 容器id

查看容器的网络信息

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'

容器重命名

docker rename 容器ID 容器名称

6、docker数据卷容器及备份

创建一个数据卷容器

docker create -v /data --name v1-test1 nginx

创建两个容器,同时挂载数据卷容器

docker run --volumes-from 1f70a86b32c5 -tid --name vc-test1 nginx /bin/bash

docker run --volumes-from 1f70a86b32c5 -tid --name vc-test2 nginx /bin/bash

确认卷容器共享

docker exec -it 3f6b15f9ce18 /bin/bash

mkdir -p /data/hello

docker exec -it e37954d9ba47 /bin/bash

cd /data/hello

docker数据备份

mkdir /backup

docker run --rm --volumes-from e37954d9ba47 -v /home/admin/backup:/backup/ nginx tar zcPf /backup/data.tar.gz /data

ls /backup

zcat /backup/data/tar.gz

Tags:

最近发表
标签列表