docker-redis
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--ip: 为容器制定一个固定的ip
--net: 指定网络模式
docker run --name mypython -dit -p 1000:8000 -v /home:/home ceasona250/python:v2_py3.7 sh -c "cd /home && pip install -r ceason.txt && python manage.py runserver 0.0.0.0:8000"
docker exec -it 372bfbdf124a /bin/bash
docker logs -f 容器名
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name myportainer portainer/portainer
查看容器静态ip docker inspect `container_name` | grep IPAddress https://blog.csdn.net/cai454692590/article/details/90510875
Docker 创建镜像、修改、上传镜像
docker commit -m "selenium chrome" -a "Docker Spider" 837b1772320c mydocker/sele:v1
-m 来指定提交的说明信息,跟我们使用的版本控制工具一样; -m "selenium chrome"
-a 可以指定更新的用户信息; -a "Docker Spider"
之后是用来创建镜像的容器的 ID; 837b1772320c
最后指定目标镜像的仓库名和 tag 信息。 mydocker/sele:v1
创建成功后会返回这个镜像的 ID 信息。

由上面创建的镜像,创建容器 docker run -it --name asd mydocker/sele:v1 /bin/bash
Docker存出、载入
docker save -o /home/testimageredis.tar docker.io/redis:latest docker rmi redis docker load < testimageredis.tar
docker save docker.io/redis:latest | gzip > /home/testimageredis.tar.gz
Docker上传--------https://www.cnblogs.com/qiaoyeye/p/10677136.html
登录docker hub docker login --username=ceasona250 如果上传的镜像不是你的dockerhub和镜像名,重新修改 docker tag e6549479bed9 ceasona250/myimages:v1 上传 docker push ceasona250/myimages:v1
大约在0.6版,privileged被引入docker。
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。
Docker:网络模式详解
1. 创建docker统一的外部配置文件
mkdir -p docker/redis/{conf,data}
2. 在conf目录创建redis.conf的配置文件
touch /docker/redis/conf/redis.conf
3. redis.conf文件的内容需要自行去下载,网上很多
4. 创建启动容器,加载配置文件并持久化数据
docker run -d --privileged=true -p 6379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis-test redis redis-server /etc/redis/redis.conf --appendonly yes
参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件
-v /docker/redis/data:/data:映射数据目录
redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程
--appendonly yes:开启数据持久化
docker run -d -it -p 6379:6379 -v /root/conf/redis.conf:/etc/redis/redis.conf --name redis-test redis /bin/bash
netstat -tunple | grep 6379
netstat: command not found apt-get update && apt-get install net-tools
ps: command not found apt-get update && apt-get install procps
docker run -it -p 4096:80 -v /root/temp/:/home/temp/ --name myweb2 --link redis-test:red ceason /bin/bash
netstat -tunlp 显示tcp,udp的端口和进程等相关情况
容器互联
新建网络
下面先创建一个新的 Docker 网络。
$ docker network create -d bridge test-net

参数说明:
-d:参数指定 Docker 网络类型,有 bridge、overlay。
其中 overlay 网络类型用于 Swarm mode,在本小节中你可以忽略它。
连接容器
运行一个容器并连接到新建的 test-net 网络:
$ docker run -itd --name test1 --network test-net ubuntu /bin/bash
打开新的终端,再运行一个容器并加入到 test-net 网络:
$ docker run -itd --name test2 --network test-net ubuntu /bin/bash
在一个容器中ping另一个容器name 找到ip
docker访问宿主机mysql
宿主机:ifconfig
找到172.18.0.1,在容器中通过172.18.0.1:3306访问宿主机mysql
(给账户授权,防火墙)
从容器里面拷文件到宿主机
宿主机中:docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
容器中:scp 要拷贝的文件在容器里面的路径 root@172.18.0.1:要拷贝到宿主机的相应路径
从宿主机拷文件到容器里面
宿主机中:docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
容器中:scp root@172.18.0.1:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径


浙公网安备 33010602011771号