Docker

Docker

docker run -it ubuntu:15.10 /bin/bash

#启动容器(交互,虚拟bash, -d为后台启动)
docker run -itd ubuntu:15.10 /bin/bash

#关闭容器后,查看容器的状态,并重新启动容器
exit
docker ps -a
docker start (container_name)

#进入后台运行的容器(exit退出后会关闭容器)
docker attach (container_name)

#进入后台运行的容器(exit退出后会保持容器开启)
docker exec -it (container_name) /bin/bash

#清除所有后台停止运行的容器
docker container prune

#清除某个容器
docker rm -f (docker_name)

#导出某个容器
docker export 1e560fca3906 > ubuntu.tar

#导入某个容器
docker import unbuntu.tar test/ubuntu:v1

#查看日志(可查看code server的密码)
docker logs (container name)
  • 在container中下载东西,或者修改后,导出,再导入为镜像,原始镜像的Dockerfile中的部分内容会失效,主要是CMD与entrypoint都会失效。

DOCKERFILE

  • Build
## 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。
docker build -t runoob/ubuntu:v1 . 

## 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
docker build github.com/creack/docker-firefox

## 也可以通过 -f Dockerfile 文件的位置:
docker build -f /path/to/a/Dockerfile .

  • ENTRYPOINT命令

ENTRYPOINT 的 Exec 格式用于设置容器启动时要执行的命令及其参数,同时可通过CMD命令或者命令行参数提供额外的参数。ENTRYPOINT 中的参数始终会被使用,这是与CMD命令不同的一点。下面是一个例子:

ENTRYPOINT ["/bin/echo", "Hello"]  

## 当容器通过 docker run -it [image] 启动时,输出为:
Hello

## 而如果通过 docker run -it [image] CloudMan 启动,则输出为:
Hello CloudMan

## 将Dockerfile修改为:
ENTRYPOINT ["/bin/echo", "Hello"]  
CMD ["world"]

##. 当容器通过 docker run -it [image] 启动时,输出为:
Hello world

##  而如果通过 docker run -it [image] CloudMan 启动,输出依旧为:
Hello CloudMan

###ENTRYPOINT 中的参数始终会被使用,而 CMD 的额外参数可以在容器启动时动态替换掉。

参考:
https://www.cnblogs.com/fclbky/p/11338738.html

################

# 如果指定了enterpoint,那么下面的这种形式的/bin/bash将被当成参数
docker run -it test/cmd:v1 /bin/bash
# 只能用 --enterpoint 来重新制定入口
docker run -it test/cmd:v1 --entrypoint /bin/bash

################

Docker与code server

docker run -itd  -p "11111:8080" -v /home/public:/home/coder/Public -v  /home/cloud/gitrepo:/home/coder/project -v /home/cloud/anaconda3:/home/cloud/anaconda3 codercom/code-server:v2 --allow-https --auth password --password 999999


  • codercom/code-server:v2 为image的名称。
  • -p 11111:8080" 指将docker中的8080端口映射到本地的11111端口。docker中的服务默认在8080端口开启
  • -v 为把本地的文件挂载到container中,anacoand为python环境,挂载位置最好与本地相同
  • allow-https、–password 后面的参数没有起作用,后续继续研究一下。
  • 使用autossh将11111端口反向代理即可远程连接。
  • code-server搭建python环境时,先下载ms-python的.vsix插件,然后在vscode中安装。最后在设置中搜索“python-pythonpath”,改成实际的路径,即可运行python程序。

Wordpress

docker container run   -d   --rm   --name wordpressdb   --env MYSQL_ROOT_PASSWORD=123456   --env MYSQL_DATABASE=wordpress mysql:5.7
docker container run --rm --name wordpress --volume "/home/cloud/Documents/docker-demo":/var/www/html -d -p 8001:80 php:5.6-apache
docker container run   --rm   --name wordpress   --volume "/home/cloud/Documents/docker-demo":/var/www/html -d -p 8001:80 --link wordpressdb:mysql  phpwithmysql



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值