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:要拷贝的文件在容器里面的路径   要拷贝到宿主机的相应路径

 
posted @ 2020-08-24 16:25  CeasonCing  阅读(102)  评论(1)    收藏  举报