使用docker run -v /data:/mnt:rw -i -t ubuntu ,但是在docker容器里文件只可以读不可以写。 docker的ubuntu容器里面能用wget命令吗

docker \u5b89\u88c5 ubuntu \u600e\u4e48\u7528

Docker \u662f\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u8bde\u751f\u4e8e 2013 \u5e74\u521d\uff0c\u6700\u521d\u662f dotCloud \u516c\u53f8\u5185\u90e8\u7684\u4e00\u4e2a\u4e1a\u4f59\u9879\u76ee\u3002\u5b83\u57fa\u4e8e Google\u516c\u53f8\u63a8\u51fa\u7684
Go \u8bed\u8a00\u5b9e\u73b0\u3002 \u9879\u76ee\u540e\u6765\u52a0\u5165\u4e86 Linux \u57fa\u91d1\u4f1a\uff0c\u9075\u4ece\u4e86 Apache 2.0 \u534f\u8bae\uff0c\u9879\u76ee\u4ee3\u7801\u5728 GitHub\u4e0a\u8fdb\u884c\u7ef4\u62a4\u3002
Docker \u81ea\u5f00\u6e90\u540e\u53d7\u5230\u5e7f\u6cdb\u7684\u5173\u6ce8\u548c\u8ba8\u8bba\uff0c\u4ee5\u81f3\u4e8e dotCloud \u516c\u53f8\u540e\u6765\u90fd\u6539\u540d\u4e3a Docker Inc\u3002RedHat \u5df2\u7ecf\u5728\u5176 RHEL6.5 \u4e2d\u96c6\u4e2d\u652f\u6301 Docker\uff1bGoogle \u4e5f\u5728\u5176 PaaS \u4ea7\u54c1\u4e2d\u5e7f\u6cdb\u5e94\u7528\u3002
Docker \u9879\u76ee\u7684\u76ee\u6807\u662f\u5b9e\u73b0\u8f7b\u91cf\u7ea7\u7684\u64cd\u4f5c\u7cfb\u7edf\u865a\u62df\u5316\u89e3\u51b3\u65b9\u6848\u3002 Docker \u7684\u57fa\u7840\u662f Linux \u5bb9\u5668\uff08LXC\uff09\u7b49\u6280\u672f\u3002
\u5728 LXC \u7684\u57fa\u7840\u4e0a Docker \u8fdb\u884c\u4e86\u8fdb\u4e00\u6b65\u7684\u5c01\u88c5\uff0c\u8ba9\u7528\u6237\u4e0d\u9700\u8981\u53bb\u5173\u5fc3\u5bb9\u5668\u7684\u7ba1\u7406\uff0c\u4f7f\u5f97\u64cd\u4f5c\u66f4\u4e3a\u7b80\u4fbf\u3002\u7528\u6237\u64cd\u4f5c Docker \u7684\u5bb9\u5668\u5c31\u50cf\u64cd\u4f5c\u4e00\u4e2a\u5feb\u901f\u8f7b\u91cf\u7ea7\u7684\u865a\u62df\u673a\u4e00\u6837\u7b80\u5355\u3002

\u5b89\u88c5docker

docker\u5b89\u88c5\u65b9\u6cd5\u4e00

ubuntu14.04\u4ee5\u4e0a\u7684\u7248\u672c\u90fd\u662f\u81ea\u5e26docker\u5b89\u88c5\u5305\u7684\uff1b\u6240\u4ee5\u53ef\u4ee5\u76f4\u63a5\u5b89\u88c5\uff1b\u4f46\u662f\u8fd9\u4e2a\u4e00\u822c\u4e0d\u662f\u6700\u5148\u7248\u672c
sudo apt-get update
sudo apt-get install docker.io

docker\u5b89\u88c5\u65b9\u6cd5\u4e8c\uff1b\u5b89\u88c5\u6700\u65b0\u7248\u672c
sudo apt-get update
curl -s https://get.docker.io/ubuntu/ | sudo sh
\u8fd9\u4e2a\u65b9\u6cd5\u542f\u52a8docker\u82e5\u51fa\u73b0\u4e0b\u9762\u9519\u8bef\uff1b(\u8fd9\u4e2a\u6211\u6ca1\u9047\u5230)
FATA[0000] Error loading docker apparmor profile: fork/exec /sbin/apparmor_parser: no such file or directory ()
\u522b\u62c5\u5fc3\uff0c\u8bf7\u5b89\u88c5apparmor\u8f6f\u4ef6\u5373\u53ef
sudo apt-get install apparmor

\u7528\u6237\u7ec4\u548c\u914d\u7f6e\u6587\u4ef6\u4fee\u6539
\u628a\u5f53\u524d\u7528\u6237\u52a0\u5165\u5230docker\u7528\u6237\u7ec4\u4e2d
sudo usermod -a -G docker $USER
\u6dfb\u52a0\u914d\u7f6e\u6587\u4ef6
sudo vim /etc/default/docker
\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u6216\u4fee\u6539
DOCKER="/usr/bin/docker"
\u91cd\u542fdocker
sudo service docker restart #\u91cd\u542f

\u5b89\u88c5\u5b8c\u6210\u4e4b\u540e\u53ef\u4ee5\u6d4b\u8bd5\u4e0b\u9762\u51e0\u4e2a\u547d\u4ee4
\u67e5\u770b\u7248\u672c
docker -v

\u663e\u793a\u5982\u4e0b\uff1a



\u8fd9\u5c31\u8868\u660e\u4f60\u5b89\u88c5\u6210\u529f\u4e86
\u67e5\u770b\u72b6\u6001\uff1a
sudo service docker status

\u663e\u793a\u5982\u4e0b\uff1a



\u5176\u4ed6\u72b6\u6001\u547d\u4ee4\uff1a
sudo service docker start #\u542f\u52a8
sudo service docker stop #\u5173\u95ed
sudo service docker restart #\u91cd\u542f
\u67e5\u770b\u955c\u50cf\uff1a\u6b64\u65f6\u5e94\u8be5\u6ca1\u6709\u955c\u50cf
docker images

\u663e\u793a\u5982\u4e0b\uff1a



\u5b89\u88c5\u7b2c\u4e00\u4e2a\u955c\u50cfubuntu
\u4e0b\u8f7ddocker \u955c\u50cf\uff0c\u9700\u8981\u51e0\u5206\u949f\u3002
sudo docker pull ubuntu
\u542f\u52a8\u5bb9\u5668\uff0c\u5e76\u4e14\u8fdb\u5165\u5230Ubuntu\u5bb9\u5668\u7684bash\u547d\u4ee4
sudo docker run -i -t ubuntu /bin/bash
\u8f93\u51fahello world

\u4e0b\u8f7d\u65f6\u7684\u73b0\u8c61\uff1a





\u542f\u52a8\u65f6\u7684\u73b0\u8c61\uff1a\u5176\u5b9e\u76f8\u5f53\u4e8e\u542f\u52a8\u4e86\u4e00\u4e2a\u865a\u62df\u673a\uff1b



\u8f93\u51fahello world\uff1a



ps\u547d\u4ee4\uff1a



Docker\u5e38\u7528\u547d\u4ee4\u901f\u67e5
# \u4e0b\u8f7d\u4e00\u4e2aubuntu\u955c\u50cf
sudo docker pull ubuntu
# \u4f7f\u7528ubuntu\u8fd0\u884c\u4e00\u4e2a\u4ea4\u4e92\u6027\u7684shell,
# \u5206\u914d\u4e00\u4e2a\u4f2a\u7ec8\u7aef\uff0c\u9644\u5e26stdin\u548cstdout(\u8f93\u5165/\u8f93\u51fa\u6d41)
# \u5982\u679c\u4f60\u60f3\u9000\u51fa\u5206\u79bb\u51fa\u6765\u7684\u4f2a\u7ec8\u7aef,
# \u53ef\u4ee5\u4f7f\u7528CTRL -p+CTRL -q --\u5c31\u50cf\u5148\u6309CTRL -p \u7136\u540eCTRL -q
sudo docker run -i -t ubuntu /bin/bash
#docker ps\u547d\u4ee4
sudo docker ps #\u5217\u51fa\u5f53\u524d\u6240\u6709\u6b63\u5728\u8fd0\u884c\u7684container
sudo docker ps -l #\u5217\u51fa\u6700\u8fd1\u4e00\u6b21\u542f\u52a8\u7684\uff0c\u4e14\u6b63\u5728\u8fd0\u884c\u7684container
sudo docker ps -a #\u5217\u51fa\u6240\u6709\u7684container
#port\u547d\u4ee4
docker run -p 80:8080 #\u6620\u5c04\u5bb9\u5668\u76848080\u7aef\u53e3\u5230\u5bbf\u4e3b\u673a\u768480\u7aef\u53e3
#\u5220\u9664\u5bb9\u5668\u547d\u4ee4
sudo docker rm `sudo docker ps -a -q`#\u5220\u9664\u6240\u6709\u5bb9\u5668
sudo docker rm $CONTAINER_ID#\u5220\u9664\u5bb9\u5668id\u4e3aCONTAINER_ID\u7684\u5bb9\u5668
#\u5176\u4ed6\u547d\u4ee4\u5feb\u901f\u53c2\u8003\uff1a
sudo docker images #\u67e5\u770b\u672c\u5730\u955c\u50cf
sudo docker attach $CONTAINER_ID #\u542f\u52a8\u4e00\u4e2a\u5df2\u5b58\u5728\u7684docker\u5b9e\u4f8b
sudo docker stop $CONTAINER_ID #\u505c\u6b62docker\u5b9e\u4f8b
sudo docker logs $CONTAINER_ID #\u67e5\u770bdocker\u5b9e\u4f8b\u8fd0\u884c\u65e5\u5fd7\uff0c\u786e\u4fdd\u6b63\u5e38\u8fd0\u884c
sudo docker inspect $CONTAINER_ID #\u67e5\u770bcontainer\u7684\u5b9e\u4f8b\u5c5e\u6027\uff0c\u6bd4\u5982ip\u7b49\u7b49

sudo docker run -t -i -v /home/linjiqin/dev/docker:/home/mycontainer:rw -p 8000:8000 mydocker /bin/bash

\u5199\u5728\u524d\u9762\uff0c\u8fd0\u884c\u6211\u4eec\u7684\u955c\u50cf\u7684\u547d\u4ee4\u4f7f\u7528\u4e0a\u9762\u7684\u4e3a\u53c2\u8003\uff0c\u8fd9\u6837\u4f1a\u6302\u8f7d\u672c\u5730\u6587\u4ef6\u5939\uff0c\u5e76\u4e14\u4f1a\u6620\u5c04container\u76848000\u7aef\u53e3\u5230\u5bbf\u4e3b\u673a\u76848000\u7aef\u53e3
/home/linjiqin/dev/docker\u4e3a\u8981\u6302\u8f7d\u7684\u672c\u5730\u6587\u4ef6\u5939\uff0c\u9700\u63d0\u524d\u521b\u5efa
/home/mycontainer\u4e3adocker\u6620\u5c04\u8def\u5f84\uff0c\u6267\u884c\u4e0a\u9762\u547d\u4ee4\u4f1a\u5e2e\u6211\u4eec\u521b\u5efa

docker\u7684ubuntu\u5bb9\u5668\u91cc\u9762\u80fd\u7528wget\u547d\u4ee4
\u542f\u52a8\u4e00\u4e2aDocker\u5bb9\u5668

[root@localhost ~]# docker run -i -t Ubuntu /bin/bash
Unable to find image 'ubuntu' locally
Pulling repository ubuntu
04c5d3b7b065: Download complete
511136ea3c5a: Download complete
c7b7c6419568: Download complete
70c8faa62a44: Download complete
d735006ad9c1: Download complete
Status: Downloaded newer image for ubuntu:latest

selinux 原因。
两种方法:1.selinux模式为permissive模式 setenforce 0
2.容器启动,添加--privileged=true

那就换一种其他的方法吧。

扩展阅读:docker run itd ... docker images ... docker run rm ... docker save ... docker run network ... docker exec ... docker push ... docker commit ... docker net show ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网